2010-07-02 6 views
1

J'ai des problèmes avec une application Android en gardant un verrou de réveil partiel sur mon système; donc je voudrais écrire une application qui garde un oeil sur la mauvaise application et tue son verrou de sillage partiel peu de temps après qu'il en acquiert un.Android: Énumérer tous les verrous de sillage dans le système

android.os.PowerManager est utilisé pour acquérir et libérer des verrous de sillage mais je ne vois aucun moyen d'obtenir tous les verrous de sillage dans le système; même si j'ai accès à sa variable IPowerManager mService, ce service ne libère pas de verrou de sillage sans l'objet IBinder associé au verrou de sillage.

Donc, je suis bloqué. Comment dois-je procéder? Est-ce seulement possible?

Répondre

2

Ce n'est pas possible, car vous ne pouvez pas écrire une application qui annule WakeLocks d'une autre application. FWIW, vous pouvez utiliser adb shell dumpsys pour en savoir plus sur WakeLocks en circulation, entre autres choses.

+0

Heureusement hier, après encore plus de recherches sur le bogue dans l'application qui détient le wakelock, j'ai trouvé une solution de contournement pour l'arrêter. Merci pour le truc des dumpsys, c'est plutôt cool! – Ricket

+0

Une autre façon de voir wakelocks est 'adb shell cat/proc/wakelocks' – JamesThomasMoon1979

Questions connexes