Как выполнить задание сразу после срабатывания будильника на Android Oreo (SDK 26+) - PullRequest
0 голосов
/ 24 января 2019

Давайте рассмотрим приложение с будильником, которое до Oreo работало так:

AlarmManager.setAlarmClock -> BroadcastReceiver -> Service (logic) -> other Services/Activities/Notifications

В Oreo я не могу вызвать context.startService () из BroadcastReceiver из-за ограничения фоновой службы.

JobScheduler / JobIntentService / JobService также не работают, даже если срок отменяется (просто ничего не выполняется / не запускается).

Как я могу надежно выполнять некоторые фоновые задачи после пробуждения из Doze на Android Oreo? Задачи включают в себя небольшое использование процессора, возможно, доступ к ContentProvider, но нет доступа к сети.

...