【发布时间】:2014-12-24 13:34:16
【问题描述】:
我想取消所有设置的警报.....我已经搜索了很多并尝试了很多东西但没有任何效果...当我在 2 分钟后设置警报然后我取消它时, 2分钟后它仍然会发射...... 任何帮助将不胜感激。
创建警报的方法:
Intent intent = new Intent(c, AlarmReceiver.class);
intent.putExtra("task", task);
intent.putExtra("id", id);
PendingIntent pendingIntent = PendingIntent.getActivity(c, code, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager)c.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
这是取消警报:
Intent intent = new Intent(c, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getActivity(c, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager)c.getSystemService(Context.ALARM_SERVICE);
am.cancel(pendingIntent);
【问题讨论】:
-
是否将
PendingIntent.getActivity替换为PendingIntent.getBroadcast和PendingIntent.FLAG_CANCEL_CURRENT替换为0 工作? -
使用 getBroadcast,没有任何警报触发(因为我的警报调用的是活动,而不是广播)......使用 FLAG_CANCEL_CURRENT 不起作用......我已经尝试过了。
标签: android