【发布时间】:2018-10-18 11:29:37
【问题描述】:
首先,我知道这个问题已经被问过好几次了,但是我还没有找到一个可行的解决方案,所以我还是想问一下。
在我的应用中,我使用AlarmManager 在特定时刻触发通知。它在 Nougat 及更低版本中运行良好,但在 Oreo 上测试时它永远不会触发(假设它也不适用于 Pie)。
我尝试了各种方法,例如使用setExactAndAllowWhileIdle。根据其他用户的说法,这应该适用于奥利奥,但它对我不起作用。我还发现了 WorkManager,但是人们建议不要在生产应用程序中使用它,因为它仍处于测试阶段,如果您需要在非常特定的时间运行任务,显然也不建议使用它。
我会展示我的代码,但它只是一个简单的AlarmManager 和BroadcastReceiver,就像您在互联网上可能找到的任何其他示例一样。
这对我来说是一个真正的应用程序破坏“错误”,此时我不知道该怎么办。谢谢。
编辑:AlarmManager 确实适用于 Android Oreo 及更高版本,问题出在通知上。从奥利奥开始,您需要设置NotificationChannel,否则通知将永远不会出现。就是这样。
【问题讨论】:
-
这是在所有设备上发生还是特定于例如三星手机?
-
@shelll 我已经在我的华为手机和 AVD 中尝试过
标签: android alarmmanager android-notifications android-8.0-oreo android-workmanager