我目前正在开发一个Android应用程序,我需要设置持久性警报,该警报将在特定日期和时间触发并显示通知。它运行良好,但系统会在重新启动时清除所有警报。
从其他问题我知道,如果我创建一个BroadcastReceiver
forBOOT_COMPLETED
我可以重新取消警报。我的问题是:我需要保留哪些警报以便在需要时重新安装它们?
有些人说我需要坚持所有Intent
额外和火日期时间,以便重新启动时重新创建PendingIntent
。
其他人说,如果我只坚持requestCode
为PendingIntent
,重新启动后我可以使用此代码获取取消的PendingIntent
并重新启动警报,因为当设备重新启动时,PendingIntent
只是取消而不是删除。
哪一个是正确的方法呢?
PendingIntents在重新启动后不会保留,所以为了安全起见,只需在第一次初始化警报时使用您创建的所有意图附加功能重新启动BroadcastReceiver中的警报,并保持请求代码相同。