繁体   English   中英

当用户从最近的应用程序列表中删除应用程序时,如何取消警报管理器警报?

[英]How to cancel alarm manager alarms when user removes the app from recent apps list?

按照在评论这个问题:“标准的Android只允许你从名单上的Android 3.0+删除的东西,这样做不会影响您的AlarmManager事件”。

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

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

但是,当应用强制删除时,如何取消警报? 我不想在应用关闭时(通过按“后退”或“主页”按钮)取消警报。

需要完成两个步骤:

  1. 从“最近”列表中检测到该应用已删除。 查看从最近的应用程序列表中滑动Android应用程序时究竟会发生什么? 这是我找到的关于该主题的最佳信息。

  2. 取消警报。 您的问题假设, pendingIntent变量仍然包含先前构造的intent。 这在已卸载的活动中不起作用。 而是构造一个与原始意图“相等”的意图(“其动作,数据,类型,类和类别相同”),然后取消该意图。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM