Как запускать планировщик каждые 5 минут, без сбоев в Android 8 (Oreo) - (пробный минимальный предел Jobscheduler составляет 15 минут и не является надежным) - PullRequest
0 голосов
/ 21 мая 2018

Как запустить службу (для выполнения какой-либо задачи) ровно каждые 5 минут без сбоев.У меня был рабочий код для вышеуказанного требования с помощью Alarmmanager, но он не работает, так как я пытаюсь настроить Android 8 (Oreo).

  • Возможно ли достичь цели использования Oreo или нет?

1 Ответ

0 голосов
/ 21 мая 2018

В Android есть много вещей, которые не работают должным образом.Проблема, с которой вы столкнулись, была решена с помощью нового API WorkManager.Из официальной документации:

WorkManager выбирает подходящий способ запуска задачи на основе таких факторов, как уровень API устройства и состояние приложения.Если WorkManager выполняет одну из ваших задач во время работы приложения, WorkManager может запустить вашу задачу в новом потоке процесса вашего приложения.Если ваше приложение не работает, WorkManager выбирает подходящий способ планирования фоновой задачи - в зависимости от уровня API устройства и включенных зависимостей, WorkManager может использовать JobScheduler, Firebase JobDispatcher или AlarmManager.

ИтакWorkManager позаботится о том, что запускать, основываясь на различных факторах, и сделает все намного проще и чище.

Для вашего сценария вы можете использовать повторяющиеся задачи:

https://developer.android.com/topic/libraries/architecture/workmanager#recurring

...