1

根据问题的评论:“标准 Android 仅允许您从 Android 3.0+ 上的该列表中删除内容,这样做不会影响您的 AlarmManager 事件”。

如果用户从最近的应用程序列表中滑动应用程序,我想取消警报,但我们似乎无法处理从可以取消警报的最近应用程序列表中滑动应用程序。我在应用程序中有选项供用户取消执行此代码的警报:

public static void cancelAlarm() {
        if (alarmUp())
        {
            alarmMgr.cancel(pendingIntent);
        }
  }
  public static boolean alarmUp() {
      return (pendingIntent != null);
  }

但是当app被强行移除时,如何取消闹钟呢?我不想在应用程序关闭时取消警报(按返回或主页按钮)。

4

2 回答 2

2

完成此操作需要两个步骤:

  1. 检测从最近列表中删除的应用程序。看看当您从最近的应用程序列表中滑动一个 Android 应用程序时会发生什么?. 这是我在这个主题上找到的最好的信息。

  2. 取消警报。您的问题假设该pendingIntent变量仍然具有先前构造的意图。这不适用于已卸载的活动。相反,构造一个“等于”原始意图的意图(“它们的操作、数据、类型、类和类别相同”),然后取消该意图。

于 2015-09-27T02:36:40.577 回答
0

这可以通过调用of轻松alarm.cancel()实现。OnDestroy()Activity

于 2018-06-04T12:06:18.713 回答