打瞌睡模式的JobScheduler可以联网吗?

Can JobScheduler in Doze mode can connect network?

正如Google文档提到的,JobScheduler不能工作在Doze模式下,除非它处于temporal windowed periodic wake-up time。

参考 https://developer.android.com/training/monitoring-device-state/doze-standby?hl=en

但是有些人说它甚至可以在打瞌睡模式下工作... 在下面 link。 How to schedule a job using JobScheduler only when device is not in doze (not even Maintenance window)?

哪个是真的? 如果它可以在打瞌睡模式下在 Job Scheduler 中工作,它可以在打瞌睡模式下使用网络(Wifi 和移动网络)吗?

jobscheduler 在打瞌睡模式下,会唤醒系统吗?或者只是应用程序?

如果您添加 setRequiredNetworkType,JobScheduler 将与网络一起工作,无论是否使用休眠模式。虽然在打瞌睡模式下它会 运行 在维护期间 window & OS 将决定正确的时间。

除此之外要澄清的是 setRequiresDeviceIdle() 不是打瞌睡模式空闲状态,而只是另一个屏幕关闭状态,但打瞌睡模式不一定处于活动状态。

Check the "charging & idle" section in this article by google devs

Official doc

Despite the similar naming, this job constraint is not related to the system's "device idle" or "doze" states. This constraint only determines whether a job is allowed to run while the device is directly in use.