2010-07-02 77 views
1

我的Android應用程序在我的系統上保持部分喚醒鎖時遇到問題;所以我想寫一個應用程序,它會關注這個不好的應用程序,並在獲取一個應用程序後立即終止它的部分喚醒鎖定。Android:枚舉系統中的所有喚醒鎖

android.os.PowerManager是用來獲取和釋放喚醒鎖,但我沒有看到任何方式獲得系統中的所有喚醒鎖;即使我有權訪問其IPowerManager mService變量,該服務也不會釋放喚醒鎖,而且不會將IBinder對象與喚醒鎖關聯。

所以我卡住了。我如何繼續?這甚至有可能嗎?

回答

2

這是不可能的,因爲你不能寫一個應用程序來取消另一個應用程序的WakeLocks

FWIW,您可以使用adb shell dumpsys來了解未知的WakeLocks等等。

+0

幸運的是,昨天,在更多關於持有wakelock的應用程序中的錯誤後,我找到了一個解決方法讓它停止。感謝dumpsys技巧,這很酷! – Ricket 2010-07-04 16:35:13

+0

另一種看wakelocks的方式是 'adb shell cat/proc/wakelocks' – JamesThomasMoon1979 2015-07-30 20:18:37