Поймайте нажатие клавиши с андроидом

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

Например:

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

Действительно ли это возможно?

11
задан shuwo 14 February 2010 в 17:02
поделиться

1 ответ

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

Обработка onKey из представления:

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

18
ответ дан 3 December 2019 в 06:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: