Empfangen Sie Ereignisse beim Drücken der Lautstärketaste, wenn sich das Telefon im tiefen Schlaf befindet

Ich versuche, Ereignisse zu erfassen, die die Lautstärke erhöhen / verringern, wenn sich das Telefon im Tiefschlafmodus befindet. Ich habe mehrere Artikel gelesen und hier was ich getan habe.

In AktivitätenonCreate Methode setze ich einWakeLock

PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();

Ich habe gelesen, dass meine Anwendung auf Ereignisse reagiert, auch wenn mein Bildschirm gesperrt ist, wenn ich dies einstelle. Außerdem habe ich die Berechtigung zu Android Manifest hinzugefügt.

<uses-permission android:name="android.permission.WAKE_LOCK" />

Dann in deronCreate Methode Ich erkläre meinen Rundfunkempfänger

VolReceiver volumeBroadcastReceiver = new VolReceiver();

IntentFilter filter = new IntentFilter();
filter.addAction("android.media.VOLUME_CHANGED_ACTION");
registerReceiver(volumeBroadcastReceiver, filter);

Das alles funktioniert ziemlich gut, dann ist die Anwendung im Vordergrund oder im Hintergrund, aber dann sperre ich den Bildschirm meines Telefons, indem ich auf eine Power-Button-Anwendung drücke, um den Empfang von Sendeereignissen zu stoppenPowerManager muss dieses Problem lösen, tut es aber nicht. Bitte helfen Sie mir, geben Sie einige Informationen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage