-1

我用下面的代碼來設置鬧鐘,如何以編程方式檢查警報是否已經計劃好?

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

當我的應用程序在主屏幕活動開始,我一次又一次地設置報警每次。

我知道,一旦設備關閉電源,所有預定警報將被取消。一旦通電,所有警報將再次安排。

但我不知道如何檢查報警已經安排或不是每次應用程序啓動時。

還請確認下面的內容, 一旦應用程序啓動後再次設置,將替換舊的鬧鐘,如果時間已過,將會被觸發。 如何通過檢查計劃或不編程的報警來避免這種多重報警設置?

請幫我解決這個問題。

+0

[如何檢查AlarmManager是否有警報設置?](http://stackoverflow.com/questions/4556670/how-to-check-if-alarmmanager-already-has-an-alarm-設置) – Psypher 2015-02-23 10:42:00

+0

@ZygoteInit你的意思是它需要的地方?詢問示例場景。 – 2015-03-16 06:11:10

回答

0

創建一個與您的setRepeating()一起使用的等效PendingIntent和PendingIntent.FLAG_NO_CREATE標誌。

boolean isAlarmActive = (pendingIntent != null); 
if (isAlarmActive) { 
    Log.d("TAG", "Alarm is already active"); 
} 

在使用PendingIntent.FLAG_NO_CREATE,如果描述PendingIntent不已經存在,它只是返回null

+0

我還沒有問如何取消報警。我已經問過如何檢查它是否已經預定或沒有? – 2015-02-23 10:36:34

+0

@MVignesh:檢查編輯答案。 – Hemanth 2015-02-23 10:45:15

相關問題