奥利奥的基于时间的通知

时间:2018-01-20 12:27:54

标签: android android-alarms android-8.0-oreo android-jobscheduler

我正在开发一个任务调度应用程序,让我想起某个时间的任务。我曾经用getSystemService(AlarmManager.class).set(RTC_WAKEUP, millis, pendingIntent);来实现这一点。然后,IntentService稍后开始并显示通知。

但是在Android Oreo中我的IntentService根本就没有被调用。我注意到关于Background Execution Limits以及如何从AlarmManager迁移到JobScheduler的大量讨论,但没有人提到JobScheduler如何根据RTC开始工作。

我的IntentService除了显示通知之外的其他功能只不过是将任务设置为“已通知”或“已完成”,我认为这与通过网络同步大量数据等繁重任务无法比拟JobScheduler被引入了。

Android Oreo实施基于时间的通知的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

我正在采取@ balu-sangem的解决方案:

  • PendingIntent.getService()替换为 PendingIntent.getBroadcast()
  • IntentService替换为BroadcastReceiver