应用程序关闭时Android警报管理器待处理的意图

时间:2014-10-20 07:31:33

标签: java android

我正在使用闹钟管理器来设置待处理的意图,因此即使应用已关闭,我的代码也会被执行

manager.setRepeating(AlarmManager.RTC, System.currentTimeMillis() + interval, interval, pendingIntent);

问题是它在应用程序打开时也有效,我需要将其配置为仅在应用程序关闭时才能工作。有没有办法通过警报管理器或活动来配置它?

1 个答案:

答案 0 :(得分:1)

警报在您的应用程序范围之外运行,因此如果您不再需要它们,则需要手动取消它们。您可以使用AlarmManager cancel()方法来完成此操作。 不幸的是,我认为没有一种简单的方法可以理解您的应用程序是否正在关闭。在路上可能正在使用cancel()。查看ActivityLifecycleCallbacks以获取更多信息。你可以在那里阅读

  

只需检查已停止活动的数量是否等于该数量   开始的活动。如果他们是平等的,你的申请就是   中背景

此时您可以设置闹钟。 相反

  

如果有更多已启动的活动,您的应用程序仍然是   可见。如果恢复的活动多于暂停的活动,那么您的活动将会暂停   应用程序不仅可见,而且还在前台

在这种情况下,您可以使用AlarmManager的{​​{1}}方法。 请记住,每次重启设备时都会取消所有警报。