Мне нужно, чтобы служба заданий просыпалась каждые 15-20 минут

#android #kotlin

#Android #kotlin

Вопрос:

Мне нужно, чтобы служба заданий просыпалась каждые 15-20 минут
В начале работы приложение 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)
  

Комментарии:

1. Я использую диспетчер работ

2. Вы можете использовать WorkManager с PeriodicWorkRequest.

Ответ №1:

Задания службы заданий будут отложены на более поздний момент времени, если ОС сочтет это необходимым для сохранения времени автономной работы.

Выполнение задания определяется операционной системой, устройство находится в спящем режиме (оно не используется с выключенным экраном), в течение периодов времени выполнение заданий занимает больше времени между ними.

Смотрите документацию Doze

https://developer.android.com/training/monitoring-device-state/doze-standby

Комментарии:

1. Спасибо. Я добавил setExactAndAllowWhileIdle(), и это устранило мою проблему