让我们考虑一个闹钟应用程序,它在Oreo之前就是这样工作的:
AlarmManager.setAlarmClock -> BroadcastReceiver -> Service (logic) -> other Services/Activities/Notifications
在Oreo上,由于后台服务限制,我无法从BroadcastReceiver调用context.startService()。
JobScheduler / JobIntentService / JobService也不起作用,即使截止日期已被覆盖(根本没有任何执行/启动)。
从Android Oreo上的Doze唤醒后,如何可靠地执行一些后台任务?任务涉及少量CPU使用率,可能是ContentProvider访问,但没有网络访问。