我需要 JobService每 15 - 20 分钟醒来一次
在工作开始时申请JobService工作正常,但一段时间后它会在一两个小时后醒来。
为什么JobService那样工作?
如何解决?
也许你知道JobService 的任何替代品,可以每 15 - 20 分钟唤醒一次应用程序
--------------------------initialization-------------------------------------
jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
jobInfo = JobInfo.Builder(JOB_ID, ComponentName(this, W2BJobService::class.java))
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setRequiresDeviceIdle(false)
.setRequiresCharging(false)
.setPeriodic(15 * 60 * 1000)
.build()
-----------------------------run---------------------------------------------
jobScheduler?.schedule(jobInfo)
最佳答案
如果操作系统认为有必要保持电池生命周期,作业服务作业将被推迟到以后的时间点。
作业执行由操作系统确定,设备在一段时间内处于休眠状态(不使用屏幕关闭),作业执行之间的时间更长。
请参阅打瞌睡文档
https://developer.android.com/training/monitoring-device-state/doze-standby
关于android - 我需要 JobService 每 15 - 20 分钟唤醒一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63578717/