Поймать нажатие клавиш с Android - PullRequest
10 голосов
/ 14 февраля 2010

Как я могу поймать нажатие клавиши телефона с Android SDK? Я искал несколько часов, ничего не находя ..

Например:

В некоторых случаях я хочу перехватить сообщение, когда пользователь нажимает кнопку «повесить трубку» на телефоне, а затем отбросить сообщение до того, как оно достигнет ОС.

Возможно ли это?

1 Ответ

17 голосов
/ 14 февраля 2010

Вы можете обрабатывать ключевые события из представления или вообще для всего приложения:

Обрабатывать ключ на виде:

public boolean onKey(View v, int keyCode, KeyEvent event) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_ENTER:
         /* This is a sample for handling the Enter button */
      return true;
    }
    return false;
}

Не забудьте реализовать OnKeyListener и настроить ваш слушатель YourView.setOnKeyListener(this);

Вторая возможность будет:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
     switch (keyCode) {
     case KeyEvent.KEYCODE_MENU:
        /* Sample for handling the Menu button globally */
        return true;
     }
     return false;
} 

Вы также можете взглянуть на onKeyUp.

Ресурс: http://developer.android.com/reference/android/view/View.html

И здесь вы можете увидеть список со всеми KeyEvents

...