我想在我的应用程序中设置一个警报,每天都会触发。根据文档,我必须设置一次性警报,并在接收警报信号的BroadcastReceiver中,重置第二天的警报。 这是正确的吗?
我的BroadcastReceiver处理好唤醒锁并启动一个发布此唤醒锁的服务。这里的一切都很好。
但是我有问题。在我的应用程序中,有一个复选框,在闹钟响起时进行检查。要知道我的闹钟是否已启动,我使用以下条件:
Intent intent = new Intent( context, AlarmReceiver.class );
boolean alarmUp = (
PendingIntent.getBroadcast( context, 0, intent, PendingIntent.FLAG_NO_CREATE) != null)
但这似乎不能很好地工作,是一个很好的方法来了解警报是否已启动?
提前致谢
答案 0 :(得分:6)
对于问题的第一部分,您可以使用重复警报,或者在您正在进行任何一次火灾时安排新警报。无论哪种方式都有效。
您可能还需要设置接收ACTION_BOOT_COMPLETED的广播接收器,以便在手机重新启动时重新安排闹铃。
至于检查警报是否存在,带有FLAG_NO_CREATE的PendingIntent正是你如何做到的。