Страницы

Поиск по вопросам

воскресенье, 12 января 2020 г.

Отследить длинное нажатие на кнопки громкости

#android


Вопрос. Как отследить длинное нажатие на кнопки громкости.
Делаю так

public boolean onKeyDown(int keyCode, KeyEvent event) {
    //if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) 
    //{
        event.startTracking();

    //}
    return true;
    }
@Override


public boolean onKeyUp(int keyCode, KeyEvent event) {
    // Обработайте отпускание клавиши, верните true, если обработка выполнена
  return true;
}

public boolean onKeyLongPress(int keyCode,KeyEvent event){
    if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN){
        //Do your stuff here
        Toast toast = Toast.makeText(this, "Вниз", Toast.LENGTH_SHORT); toast.show();

        return true;
    }
    if(keyCode==KeyEvent.KEYCODE_VOLUME_UP){
        //Do your stuff here
        Toast toast = Toast.makeText(this, "Вверх", Toast.LENGTH_SHORT); toast.show();

        return true;
    }
    return onKeyLongPress(keyCode,event);
}


Работает, только не работает системное изменение громкости
    


Ответы

Ответ 1



Воспользуйтесь слушателем onKeyLongPress и проверьте код клавиши громкости. public boolean onKeyLongPress(int keyCode,KeyEvent event){ if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN){ //Do your stuff here return true; } return onKeyLongPress(keyCode,event); }

Комментариев нет:

Отправить комментарий