这是设置闹钟的原因
public void setSilent(Long taskId, Calendar when){
Intent i = new Intent(mContext, SilentReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(mContext, 1 , i, PendingIntent.FLAG_ONE_SHOT);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);
它与id一起使用id和日期。 当用户单击删除时,我将在另一个文件中取消它。使用
Intent i = new Intent(null, SilentReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(null, 1 , i, PendingIntent.FLAG_ONE_SHOT);
这应该可行吗,因为它与第一个请求代码相同或者我做错了什么?
答案 0 :(得分:1)
您必须保存对第一个PendingIntent的引用。这样你就可以使用:
mAlarmManager.cancel(pi);
警报应该被取消。
这个答案已多次重复。请在询问前搜索。
答案 1 :(得分:0)
小心发送PendingIntent
以使用与Intent
相同的数据停止闹钟以创建闹钟:problem with cancel the alarm manager pending intent