2013-10-10 79 views
0

消除歧義我有兩個報警:報警器AlarmManager

pendingIntent = PendingIntent.getBroadcast(context, 1001, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
alarmManager.set(alarmType, cal.getTimeInMillis(), pendingIntent); //1 
alarmManager.set(alarmType, cal.getTimeInMillis()-delaytime, pendingIntent); //2 

,我想取消報警:

pendingIntent = PendingIntent.getBroadcast(context, 1001, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
alarmManager.cancel(pendingIntent); 

的不確定性是被刪除的報警,1或2?

回答

1

如果PendingIntent的意圖相同,那麼您只有一個警報。如果alarmManager的pendingIntent的意圖區別比你有兩個警報。

+0

PendingIntent的意圖是相同的。但報警火災時間不同。 –

+0

如果意圖與警報相同,則與另一個相同。例如,我有一個意圖它的名字是test_intent。我用這個意圖創建pengingIntent,pengingIntent的名字是test1_pednging,第二個是test2_pending。當我使用這些未決的實例創建警報並使用FLAG_UPDATE_CURRENT時,我只創建了一個警報。由於test1_pendign在test2_pending之後設置了alarm1_pendign設置了其他alam,但在pending_intent(test1_pending)之前被覆蓋。 AlarmManager的標誌等於FLAG_UPDATE_CURRENT。 – nurisezgin

相關問題