-1

我已经使用下面的代码来设置警报,

mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                activeModeTime.getTimeInMillis(), AlarmManager.INTERVAL_DAY,
                getActiveModeAlarmPendingIntent());

每次我的应用程序在主屏幕活动中启动时,我都会一次又一次地设置闹钟。

我知道一旦设备断电,所有预定的警报都会被取消。一旦电源打开,所有警报将重新安排。

但是我不知道每次应用程序启动时如何检查警报是否已经安排好了。

并且还请确认以下,一旦应用程序启动一次又一次地设置将取代旧的警报,如果时间已经过去,将被触发。如何通过检查是否以编程方式安排警报来避免这种多重警报设置?

请帮助我。

4

1 回答 1

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

于 2015-02-23T10:34:26.617 回答