【问题标题】:Cancel All Alarms each with different PendingIntent set using AlarmManager at once without having to recreate each PendingIntent again一次使用 AlarmManager 取消所有具有不同 PendingIntent 设置的警报,而无需再次重新创建每个 PendingIntent
【发布时间】:2015-11-25 19:47:57
【问题描述】:

我设置了多个重复警报,每个警报具有不同的 PendingIntent。 有没有办法一次取消所有这些警报? 我发现取消警报的唯一方法是创建单独的 PendingIntent 然后调用 AlarmManager.cancel(pendingIntent) 方法。 由于我有许多具有不同 PendingIntent 的不同警报,我将不得不重新创建所有这些警报,有没有更好的方法?

【问题讨论】:

    标签: android


    【解决方案1】:

    据我所知,没有其他方法可以取消闹钟

    【讨论】:

      【解决方案2】:

      您可以做的唯一方法是重新创建待处理的意图并取消它。

      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());
           }
      

      Courtsey

      【讨论】:

        猜你喜欢
        • 2012-07-08
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-16
        • 1970-01-01
        相关资源
        最近更新 更多