我很难找到真正的解决方案。我查了很多,但找不到任何好的解决方案问题。如何查找App是否在运行,如果App正在运行,那么如何找到前面的活动
我想在用户点击通知时执行一些操作。所以我必须检查应用程序是在后台还是在前台。如果它在前台,那么哪个活动正在运行?必须有简单的方法来找到它。
请指导我this.Any帮助将不胜感激。
我很难找到真正的解决方案。我查了很多,但找不到任何好的解决方案问题。如何查找App是否在运行,如果App正在运行,那么如何找到前面的活动
我想在用户点击通知时执行一些操作。所以我必须检查应用程序是在后台还是在前台。如果它在前台,那么哪个活动正在运行?必须有简单的方法来找到它。
请指导我this.Any帮助将不胜感激。
你应该在你的应用程序的两个地方听:
你有severals答案有总结的解决方案:
Android: how do I check if activity is running?
Checking if an Android application is running in the background
因为如果应用程序在后台则显示通知,否则显示警告。
然后你不在乎“无论是在背景或前景的应用程序”或“如果是在前台然后活动运行”。
您只需在意事件发生时,前台UI处理它(如果有前景UI),或者您显示Notification
。
一种方法是在几年前使用有序广播,如I blogged about。这是一个示例应用程序,演示了这一点。基本上,服务(?)发送一个有序的广播。当用户界面处于前台时,UI具有高优先级的接收器,并中止广播并消费该事件。您还有一个低优先级的接收器,只有在用户界面没有使用该事件时才会得到控制权,该接收器将显示Notification
。
好的解决方案,我保留下次。 –
“所以我必须检查应用程序是否在后台或前台” - 为什么? – CommonsWare
@CommonsWare:因为如果应用程序在后台,然后显示通知,否则显示alert.So .. – Ponting