android - 我需要保留什么才能在重启后持续显示警报?

android - What do I need to keep to persist alarm after reboot?

我目前正在开发一个 android 应用程序,我需要在其中设置将在特定日期和时间触发并显示通知的持续警报。它运行良好,但系统会在重新启动时清除所有警报。

从其他问题我知道,如果我为 BOOT_COMPLETED 创建一个 BroadcastReceiver,我可以重新设置已取消的警报。我的问题是:我需要保留哪些有关这些警报的信息,以便在需要时重新启动它们?

有人说我需要保留所有 Intent 额外内容和触发日期时间,以便在重新启动时重新创建 PendingIntent

还有人说,如果我只为PendingIntent坚持requestCode,重启后我可以使用这段代码来取消PendingIntent并重新启动警报,因为当设备重新启动 PendingIntent 只是被取消而不是被删除。

哪种方法正确?

PendingIntents 不会在重新启动后持续存在,因此为了安全起见,只需在 BroadcastReceiver 中重新启动您的警报,并使用您在首次初始化警报时所做的所有额外意图,并保持请求代码相同。