requiresDeviceIdle

If true, the device must be idle (in Doze mode or a maintenance window on Android) before dispatching.

Platform support.

  • Android: enforced via WorkManager's Constraints.setRequiresDeviceIdle(true), which maps to JobScheduler idle scheduling (API 23+). The OS will only dispatch the task when the device enters Doze or a maintenance window.

  • iOS: BGProcessingTaskRequest has no device-idle knob. The flag is accepted and logged once as advisory; the OS already prefers idle moments when it fires background tasks.

  • macOS / JVM: NSBackgroundActivityScheduler and the coroutine scheduler have no idle primitive. The flag is accepted but not enforced.