我有一个alarmManager
,我用它在特定的时间向用户发送通知。由于存在多个警报,因此我创建了多个待处理的意图,并提供了唯一的ID。但是,在某些情况下,我需要获取所有待处理意图,然后取消它们,以便重置警报。我已经尝试过这样做了,但我仍然无法做到,所以我有几个问题:如何获取和取消PendingIntent?
这是您如何正确取得和取消PendingIntent
?
Intent intent = new Intent(con, AppointmentNotificationReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(con, id, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
am.cancel(sender);
意图是否需要完全匹配原始未决意图(extras和all)的意图?
PendingIntent
标志是否需要匹配原始未决意图的标志?
“FLAG_CANCEL_CURRENT”不会有什么区别 - 对于一个非常出色的分析,请参阅[this](http://justanapplication.wordpress.com/tag/flag_cancel_current/#PendingIntentMatching) – 2013-05-26 13:49:16