Получать события нажатия клавиши громкости, когда телефон находится в глубоком сне
m пытается поймать события увеличения громкости вверх / вниз, когда телефон находится в режиме глубокого сна. Я прочитал несколько статей и вот что я сделал.
В деятельностиonCreate
метод я установилWakeLock
PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
Я прочитал, что даже если мой экран заблокирован, если я установлю это, мое приложение будет реагировать на события. Также я добавил разрешение в Android Manifest.
Тогда вonCreate
метод я объявляю мой Broadcast Receiver
VolReceiver volumeBroadcastReceiver = new VolReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.media.VOLUME_CHANGED_ACTION");
registerReceiver(volumeBroadcastReceiver, filter);
Это все работает довольно хорошо, тогда приложение находится на переднем или заднем плане, но затем я блокирую экран телефона, нажимая на кнопку питания, приложение перестает получать широковещательные события, я думаю, чтоPowerManager
должен решить эту проблему, но это нет. Поэтому, пожалуйста, помогите мне, предоставьте некоторую информацию.