Android -Получить нажатие клавиши

Я хочу поймать нажатие любой клавиши программной клавиатуры. Мне не нужны EditView или TextView в моем действии, событие должно обрабатываться из расширенного представления внутри моего действия.

Я только что попробовал это:

1 )Переопределить метод onKeyUp(int keyCode, KeyEvent event)Activity. Это не работает с программной клавиатурой, оно просто ловит несколько жестких клавиатур.

2 )Создайте мой OnKeyListenerи зарегистрируйте в моем представлении тот, который содержит зарегистрированный и работающий OnTouchListener. Это вообще не работает с программной клавиатурой.

3 )Переопределите метод onKeyUp(int keyCode, KeyEvent event)View. Это вообще не работает ни в том случае, если я устанавливаю свой OnKeyListener, ни в том случае, если я его не устанавливаю.

4 )С объектом InputMethodManagerВызовите метод showSoftInputи передайте ему мой вид. Это не работает ни для поднятия клавиатуры, действительно, мне нужно позвонить toggleSoftInput; ни поймать ключевые события.

Я тестировал все только в эмуляторе, но я думаю, что этого достаточно. Почему так сложно взять простое ключевое событие с клавиатуры?

26
задан Vineet Setia 20 August 2019 в 05:41
поделиться