用户可以创建不同的警报。因此,何时保持警报取决于用户,他可以保持多个警报,我将所有计划的警报维护在数据库中并显示给用户以供进一步参考。下面是我的代码。
if("CREATEONCE".equals(strparam1))
{
am.set(AlarmManager.RTC_WAKEUP, l2, pi);// l2 is time in millis
}else if("CREATEREPEAT".equals(strparam1))
{
am.setRepeating(AlarmManager.RTC_WAKEUP, l2, 86400000 , pi); //l2 is time in millis
}
所以这是设置警报的代码。用户可以设置多个警报。例如,他7.00 am
为一次、8.00 am
一次和一次保持警报9.00 am dialy
。因此,对于once alarms
代码转到 if 块和 for repeat daily
,代码转到代码中的 else if 块。
如果上述 3 个警报由用户在6.00 am
. 如果他在设置警报后立即重新启动设备,则不会触发整个警报。
所以我读过很多关于这个的帖子,比如post1,post2。他们都只是broadcast receiver
用来知道设备已重新启动。在广播接收器收到设备重新启动的提示后,我是否需要通过从 sqlite 数据库获取信息再次重复上述代码以使所有警报正常工作?如果是这样,有人可以帮助我从广播接收器中做到这一点吗?代码片段表示赞赏
假设如果用户设置50 alarms
,获取所有 50 个警报的信息并重新设置它们不是一个漫长的过程吗?