【问题标题】:How to handle an alarm triggered each day in android如何在android中处理每天触发的警报
【发布时间】:2010-01-21 15:56:12
【问题描述】:

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

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

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

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

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

提前致谢

【问题讨论】:

    标签: android broadcastreceiver alarm


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回复,看来我做得很好,但为什么有时我在前一天设置闹钟时未选中我的闹钟复选框?关于手机重启,我已经有一个接收器接收 ACTION_BOOT_COMPLETED 并设置警报。
    • 我会确保您的代码不会在一次触发后重新安排警报。您可能需要发布更多代码,以便人们能够找到错误或其他内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多