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 中重新启动您的警报,并使用您在首次初始化警报时所做的所有额外意图,并保持请求代码相同。
我目前正在开发一个 android 应用程序,我需要在其中设置将在特定日期和时间触发并显示通知的持续警报。它运行良好,但系统会在重新启动时清除所有警报。
从其他问题我知道,如果我为 BOOT_COMPLETED
创建一个 BroadcastReceiver
,我可以重新设置已取消的警报。我的问题是:我需要保留哪些有关这些警报的信息,以便在需要时重新启动它们?
有人说我需要保留所有 Intent
额外内容和触发日期时间,以便在重新启动时重新创建 PendingIntent
。
还有人说,如果我只为PendingIntent
坚持requestCode
,重启后我可以使用这段代码来取消PendingIntent
并重新启动警报,因为当设备重新启动 PendingIntent
只是被取消而不是被删除。
哪种方法正确?
PendingIntents 不会在重新启动后持续存在,因此为了安全起见,只需在 BroadcastReceiver 中重新启动您的警报,并使用您在首次初始化警报时所做的所有额外意图,并保持请求代码相同。