如Google文档所述,JobScheduler不能在打ze模式下工作,除非它处于时间窗口定期唤醒时间。
参考
https://developer.android.com/training/monitoring-device-state/doze-standby?hl=en
但是有人说它甚至可以在打ze模式下工作...
在以下链接中。
How to schedule a job using JobScheduler only when device is not in doze (not even Maintenance window)?
哪一个是对的?
如果可以在打Schedule模式下在Job Scheduler中工作,是否可以在打ze模式下使用网络(Wifi和移动网络)?
而Jobscheduler在打ze模式下,会唤醒系统吗?还是只是应用程序?
最佳答案
如果您添加setRequiredNetworkType
,则无论是否使用打ze模式,JobScheduler均可与网络配合使用。尽管处于打ze模式,它将在维护窗口中运行,并且操作系统将确定正确的时间。
除了阐明setRequiresDeviceIdle()
之外,不是is睡模式空闲状态,而只是另一个屏幕关闭状态,而不必激活do睡模式。
Check the "charging & idle" section in this article by google devs
Official doc
尽管有类似的命名方式,但此作业约束与系统的“设备空闲”或“打ze”状态无关。此约束仅确定在直接使用设备时是否允许运行作业。