重新启动后,所有警报均被取消,因此要重新安排警报,我们使用权限RECEIVE_BOOT_COMPLETED
和扩展BroadcastReceiver并覆盖onReceive方法的类。很清楚但是,假设我有时间选择器和日期选择器,并且计划了3条警报,并从5种可启动的服务中选择3种(我们称它们为服务Q,W,X,Y,Z)
从现在起2天后,下午5点第一次起火(假设它将是09.09.2018) 并启动服务X。
第二天于下午3:30 PM(2018年9月10日3:30 PM)开火并开始服务Y
从现在(12.09.2018)开始的5天后第三次凌晨12点开火,并开始提供服务Z。
现在,在onReceive方法中,我不能简单地以编程方式设置这些警报,因为这些日期,时间和服务由用户指定。为此,我想将这些信息保存在本地sqlite数据库等数据库中,并在onReceive中调用将读取这些值的方法,比较警报是否仍然有效,然后再将其设置回去。我的想法正确吗?还是更容易?
另一个有关在一周的指定日期重复闹钟的问题。假设用户要在每个星期一和星期二重复警报。我已经阅读了有关每天触发警报并进行服务检查(是否计划在一天之内触发)的信息。为此,我还考虑过创建一个数据库,其中包含应该触发警报的天数,然后服务会再次读取该值,然后触发。还是有另一种更简单的方法?