代码之家  ›  专栏  ›  技术社区  ›  Big_Chair

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

  •  0
  • Big_Chair  · 技术社区  · 7 年前

    我有一张有通知内容的桌子。一个条目始终标记为 isNext ,直到一个也没有留下。
    通知之间的间隔时间各不相同,也保存在上述表格中,因此我使用了一个警报“链”,而不是一个重复警报。

    db screenshot

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

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

    • 每次检查是否已设置报警,如果未再次创建报警,请按照此处的要求: How to check if AlarmManager already has an alarm set?
    • 或者,如上面的问题所示,向 <action android:name="android.intent.action.BOOT_COMPLETED" /> 每次设备重新启动时,只需重新启动警报

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

    我真的需要做一些事情,比如把当前的时间保存在距离中吗 SharedPreferences 然后每次都读出来?

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

    0 回复  |  直到 7 年前
    推荐文章