我已使用以下代码设置闹钟,
mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
activeModeTime.getTimeInMillis(), AlarmManager.INTERVAL_DAY,
getActiveModeAlarmPendingIntent());
每次我的应用程序在主屏幕活动中启动时,我都会一次又一次地设置闹钟。
我知道一旦设备关机,所有预定的闹钟都会被取消。电源打开后,所有警报将再次安排。
但我不知道每次应用程序启动时如何检查已经安排的警报。
还请确认以下内容, 应用程序启动后一次又一次地重新设置将替换旧警报,如果时间已经过去将被触发。 如何通过以编程方式检查已安排的警报来避免这种多重警报设置?
请帮我解决这个问题。
答案 0 :(得分:0)
使用PendingIntent.FLAG_NO_CREATE标志创建与PendingIntent
一起使用的等效setRepeating()
。
boolean isAlarmActive = (pendingIntent != null);
if (isAlarmActive) {
Log.d("TAG", "Alarm is already active");
}
在使用PendingIntent.FLAG_NO_CREATE
时,如果描述的PendingIntent
尚未存在,则只返回null
。