Я хочу поймать нажатие любой клавиши на клавиатуре. Я не хочу EditView или TextView в моей деятельности, событие должно быть обработано из расширенного представления внутри моей деятельности.
Я только что попробовал это:
1) Переопределите метод действия onKeyUp(int keyCode, KeyEvent event). Это не работает с softkeyboard, оно просто ловит несколько hardkeyboard.
2) Создайте мой OnKeyListener и зарегистрируйте его в моем просмотре, который содержит зарегистрированный и рабочий OnTouchListener. Это не работает вообще с softkeyboard.
3) Переопределите метод просмотра onKeyUp(int keyCode, KeyEvent event). Это не работает вообще, если я не установил свой OnKeyListener и не установил его.
4) С помощью объекта InputMethodManager Вызовите метод showSoftInput и передайте его моему представлению. Это не работает ни для поднятия клавиатуры, на самом деле я должен позвонить toggleSoftInput; ни поймать ключевые события.
Я тестировал все только в эмуляторе, но я думаю, что этого достаточно. Почему так сложно взять простое клавишное событие с клавиатуры?