【发布时间】:2015-11-25 19:47:57
【问题描述】:
我设置了多个重复警报,每个警报具有不同的 PendingIntent。 有没有办法一次取消所有这些警报? 我发现取消警报的唯一方法是创建单独的 PendingIntent 然后调用 AlarmManager.cancel(pendingIntent) 方法。 由于我有许多具有不同 PendingIntent 的不同警报,我将不得不重新创建所有这些警报,有没有更好的方法?
【问题讨论】:
标签: android
我设置了多个重复警报,每个警报具有不同的 PendingIntent。 有没有办法一次取消所有这些警报? 我发现取消警报的唯一方法是创建单独的 PendingIntent 然后调用 AlarmManager.cancel(pendingIntent) 方法。 由于我有许多具有不同 PendingIntent 的不同警报,我将不得不重新创建所有这些警报,有没有更好的方法?
【问题讨论】:
标签: android
据我所知,没有其他方法可以取消闹钟
【讨论】:
您可以做的唯一方法是重新创建待处理的意图并取消它。
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent updateServiceIntent = new Intent(context, MyPendingIntentService.class);
PendingIntent pendingUpdateIntent = PendingIntent.getService(context, 0, updateServiceIntent, 0);
// Cancel it
try{
alarmManager.cancel(pendingUpdateIntent);
} catch (Exception e) {
Log.e(TAG, "Update failed " + e.getMessage());
}
【讨论】: