AlarmManager-如果设备已关闭,是否需要重复设置警报?

时间:2019-05-31 18:24:01

标签: android alarmmanager android-alarms

我有一张带有通知内容的表。一个条目始终标记为gsub("0{3}(?=-|$)", "K", "150000-250000", perl = TRUE) #[1] "150K-250K" ,直到没有任何条目为止。
通知之间的日期各​​不相同,并且也保存在上述表格中,因此我使用的是警报的“链”,而不是一个重复的警报。

db screenshot

现在我读到,重新启动设备(does Alarm Manager persist even after reboot?)后,将重置管理器的所有警报。

现在看来,有两种方法可以解决此问题:

  • 每次都检查是否设置了警报,是否再次创建警报,也如此处所述:How to check if AlarmManager already has an alarm set?
  • 或者,如上面的问题所示,向isNext注册一个BroadcastReceiver,并在每次设备重新启动时重新启动警报

但是这两种方法似乎都不可靠。 难道不是每次都会重置警报触发时间吗?设置警报后,它会从数据库读取3天,然后重新启动并再次读取3,因此它会不断向前推送。

我真的需要做一些事情,例如将当前时间距离保存在<action android:name="android.intent.action.BOOT_COMPLETED" />中,然后每次大约读出一次吗?

什么是我的用例的最佳解决方案?

0 个答案:

没有答案