Подтвердить что ты не робот

Регулятор громкости кнопки даже при выключенном экране и заблокирован

Возможный дубликат:
Прослушать кнопки громкости в фоновом режиме?

Я хочу прослушивать изменения громкости в моем приложении даже при заблокированном экране и отключении дисплея. Основная проблема в том, что служба работает все время (с помощью блокировок от бодрствования), но я могу читать только изменения объема с помощью моего подхода.

Если я использую службу, которая работает все время (даже с заблокированным экраном и выключенным дисплеем), у меня есть проблема. Он имеет широковещательный приемник для изменения громкости с помощью этой публикации.

public BroadcastReceiver MediaButton_Receiver = new BroadcastReceiver(){
    @Override
    public void onReceive(Context context, Intent intent) {
        KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
        if (event == null) {
            return;
        }
        int action = event.getAction();
        if (action == KeyEvent.KEYCODE_VOLUME_DOWN) {
            Log.d(TAG,"VOLUME_DOWN Pressed");   
        }
    };
};

event всегда является нулевым в службе. Он вызывает только при изменении громкости. Также BroadcastReceiver не работает, когда экран выключен.

Другой способ сделать это - использовать Activity с тем, что переопределяет dispatchKeyEvent(), но моя активность работает немного, я попытался заблокировать пробуждение, это не помогло. И я все еще не уверен, что он будет работать с заблокированным экраном. Я искал по всему Интернету, но я не могу найти ответ.

Могу ли я создать Activity, который будет захватывать нажатие кнопок громкости даже при заблокированном и выключенном экране? Или я могу как-то сделать это с помощью службы?

4b9b3361