2012-01-24 247 views
0

我想检查哪些应用程序当前正在Android设备上运行。如何检查应用程序是否真的在运行?

我知道有getRunningAppProcesses(),我可以检查重要性字段,但仍然无法获得好结果。

返回的进程是所有进程,即使是那些不活动的进程,所以我正在检查重要性字段是否为< = IMPORTANCE_VISIBLE。问题是,并不是所有活动的应用程序都返回此检查。

我可以给PowerAmp为例。如果PowerAmp处于前台,则通过此检查返回。但如果它只是在后台播放,那么它不会返回。

如何检查应用程序是否实际在后台运行?

我知道它可以做到,因为塔斯克做得很好。

谢谢。

回答

0

我认为一旦一个应用程序开始在后台运行,它就会变成Service。术语应用仅适用于通过onCreate,onResume等通常周期进行的事情。在后台播放音乐属于服务管辖范围,同样,您也应该检查服务。

看看这个链接,因为它处理你在说什么。如果它没有帮助,那么哦,我试了!

How to check if a service is running on Android?

+0

不,这是错的。 “服务”是一种组件。 'Application'不会成为'Service'。 – kabuko

+0

对不起,你是对的。我的意思是在背景中播放的音乐很可能来自服务。应用程序启动服务,该服务在后台持续运行。我的意思是说,如果他想查看PowerAmp是否在后台运行,他应该查找由PowerAmp启动的服务。 – roboguy12

+0

我找不到有用的链接..仍然不知道如何可靠地做到这一点。 – Ran

相关问题