当警报触发时,如果应用程序处于活动状态,则启动活动;如果应用程序未处于活动状

时间:2014-09-10 17:07:22

标签: android android-intent alarmmanager

在我的应用程序中,我想安排一个与活动A相关的警报。当警报触发时,应该发生什么情况取决于具体情况:
1.如果当时未打开应用程序,则在通知栏中显示通知,并在下次启动应用程序时启动活动A. 3.如果应用程序处于活动状态,请启动活动A

活动A不是后台活动 - 它需要用户互动。

理想情况下,相同的行为可以使用多于1个警报 - 即如果在应用程序未使用时触发了2个警报,则一旦用户启动应用程序,两个活动将排队等待启动。

我在AlarmManager,PendingIntents和Notification上阅读了Android Docs - 我知道如何安排一个触发通知的闹钟,但我根本不知道怎么办 - 警报发生后的活动“排队” - 警报触发时的“条件行为”(基于应用程序是否正在运行)。

似乎很多应用都需要这种行为。我希望有人能指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

在" Android编程中找到了解决方案:The Big Nerd Ranch Guide"书(Hardy& Phillips)。解决方案是使用处理AlarmManager意图的Intent Service,并发送有序广播。广播由活动接收,或者 - 在应用程序生命周期之外 - 由另一个服务接收,然后另一个服务发送通知。