2013-10-10 74 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

相关问题