我想在我的应用程序中设置一个警报,该警报每天都会触发。根据DOC的说法,我必须设置一个一次性警报,并在广播中收到警报信号,将警报重置为第二天。那是对的吗 ?

我的Broadcastreceiver很好地处理了Wakelock,并推出了一项释放Wakelock的服务。一切正常。

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

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

但这似乎不是很好, 这是知道警报是否发出的好方法吗?

提前致谢

有帮助吗?

解决方案

对于问题的第一部分,您只需使用重复的警报即可,或者在像您一样发射时安排新的警报。无论哪种方式都可以。

您可能还需要设置接收Action_boot_completed的广播接收器,以便在重新启动电话时可以重新安排警报。

至于检查警报是否存在,使用flag_no_create的悬浮物正是您将如何做到这一点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top