2012-01-24 31 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

相關問題