【发布时间】:2011-05-19 21:02:33
【问题描述】:
我有一个alarmManager,用于在特定时间向用户发送通知。由于有多个警报,我有多个待定意图,我正在创建并提供唯一 ID,但是在某些情况下,我需要获取所有待定意图然后取消它们,以便我可以重置警报。我已经尝试过这样做,但我似乎仍然无法正确,所以我有几个问题:
这是您正确获取和取消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);
意图是否需要与原始待处理意图完全匹配(附加和全部)?
PendingIntent 标志是否需要与原始待处理意图的标志相匹配?
【问题讨论】:
-
FLAG_CANCEL_CURRENT不会产生任何影响 - 要获得非常出色的分析,请参阅 this
标签: android android-intent alarmmanager android-pendingintent