1

我想在我的应用程序中设置一个每天都会触发的警报。根据文档,我必须设置一个一次性警报,并在将接收警报信号的 BroadcastReceiver 中,重置第二天的警报。 那是对的吗 ?

我的 BroadcastReceiver 很好地处理了唤醒锁并启动了一个服务来释放这个唤醒锁。这里一切正常。

但是我有问题。在我的应用程序中有一个复选框,当警报响起时会选中它。要知道我的闹钟是否响起,我使用以下条件:

Intent intent = new Intent( context, AlarmReceiver.class );
boolean alarmUp = (
PendingIntent.getBroadcast( context, 0, intent, PendingIntent.FLAG_NO_CREATE) != null)

但这似乎不太好用,这是知道警报是否响起的好方法吗?

提前致谢

4

1 回答 1

6

对于您问题的第一部分,您可以只使用重复警报,或者每当像您正在做的那样触发一个新警报时安排一个新警报。无论哪种方式都有效。

您可能还想设置一个接收 ACTION_BOOT_COMPLETED 的广播接收器,以便在手机重新启动时重新安排警报。

至于检查警报是否存在,带有 FLAG_NO_CREATE 的 PendingIntent 正是您要这样做的方式。

于 2010-01-21T16:17:57.560 回答