【问题标题】:How to find whether App is running or not and if App is running then how to find which activity is in front如何查找App是否正在运行以及App是否正在运行然后如何查找前面的活动
【发布时间】:2013-09-24 12:07:17
【问题描述】:

我很难找到真正的解决方案。我搜索了很多,但我找不到任何适合我的问题的解决方案。

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

请在这方面指导我。任何帮助将不胜感激。

【问题讨论】:

  • "所以我必须检查应用程序是在后台还是前台" -- 为什么?
  • @CommonsWare :因为如果应用程序在后台,则显示通知,否则显示警报。所以..

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


【解决方案1】:

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

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

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

Android: how do I check if activity is running?

Checking if an Android application is running in the background

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

    • 不错的解决方案,我留着下次用。
    猜你喜欢
    • 2015-06-24
    • 2013-05-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多