我有一个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
不会有任何区别 - 想要进行真正优秀的分析,请参见此链接。 - Mr_and_Mrs_D