Давайте рассмотрим приложение с будильником, которое до Oreo работало так:
AlarmManager.setAlarmClock -> BroadcastReceiver -> Service (logic) -> other Services/Activities/Notifications
В Oreo я не могу вызвать context.startService () из BroadcastReceiver из-за ограничения фоновой службы.
JobScheduler / JobIntentService / JobService также не работают, даже если срок отменяется (просто ничего не выполняется / не запускается).
Как я могу надежно выполнять некоторые фоновые задачи после пробуждения из Doze на Android Oreo? Задачи включают в себя небольшое использование процессора, возможно, доступ к ContentProvider, но нет доступа к сети.