Поймать нажатие клавиш с Android
Как я могу поймать нажатие клавиши телефона с Android SDK? Я искал несколько часов, ничего не находя..
Например:
В некоторых случаях я хочу поймать сообщение, когда пользователь нажимает кнопку "повесить трубку" на телефоне, а затем отбросить сообщение, прежде чем оно достигнет ОС.
Это возможно?
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
И здесь вы можете увидеть список всех ключевых событий