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.