如何查找App是否正在运行以及App是否正在运行,以及如何查找前面的活动

时间:2013-09-24 12:07:18

标签: android android-activity push-notification background-foreground

我很难找到真正的解决方案。我搜索了很多但我无法找到解决问题的好办法。

我想在用户点击通知时执行一些操作。所以我必须检查应用程序是在后台还是前台。如果它在前台,那么哪个活动正在运行?必须有简单的方法来找到它。

请指导我。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您应该在应用程序的两个位置收听:

  • 在您的活动中显示提醒。
  • 在您的服务中显示通知,请使用以下解决方案之一检查活动是否正在运行。

总结解决方案有几个答案:

Android: how do I check if activity is running?

Checking if an Android application is running in the background

答案 1 :(得分:1)

  

因为如果应用程序在后台,则显示通知,否则显示警告。

然后你不关心“应用程序是在后台还是前台”或“如果它在前台,那么哪个活动正在运行”。

您只关心,当事件发生时,前台UI处理它(如果有前景UI),或者您显示Notification

一种方法是在几年前使用有序广播,如I blogged about。这是一个演示此的示例应用程序。基本上,服务(?)发送有序广播。当UI在前台时,UI具有用于该广播的高优先级接收器,并且它中止广播并消费该事件。您还有一个低优先级接收器,只有在UI不消耗该事件时才会获得控制权,它将显示Notification