Android: зарегистрировать действие клавиатуры?

#android

#Android

Вопрос:

Существует ли эквивалент Java registerKeyboardAction, который позволяет обрабатывать ключевое событие независимо от того, где оно происходит?

Ответ №1:

Вы можете использовать onKeyDown(int keyCode, KeyEvent event) для обработки ключевых событий:

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_Y:
            // do something
            break;
        case KeyEvent.KEYCODE_N:
            // do something
            break;
    }

    return super.onKeyDown(keyCode, event);
}
  

Это прослушивает ключевые события только для действия, в котором оно определено. Если вам нужно обрабатывать ключевые события в каждом разделе вашего приложения, вам нужно будет определить onKeyDown для каждого действия.