这是设置闹钟的原因
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 和日期以用于 Intent 。 当用户单击删除时,我正在另一个文件中取消它。使用
Intent i = new Intent(null, SilentReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(null, 1 , i, PendingIntent.FLAG_ONE_SHOT);
因为它具有与第一个请求代码相同的请求代码,还是我做错了什么?
最佳答案
您必须保存对第一个 PendingIntent 的引用。这样你就可以使用:
mAlarmManager.cancel(pi);
并且应该取消警报。
这个答案已经重复了很多次。提问前请先搜索。
关于android - 为什么这个 android 取消警报不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784164/