Программная клавиатура без EditText и обнаружение нажатия клавиш

Как я могу надежно определять нажатия клавиш с помощью жесткой или виртуальной клавиатуры?

Мое приложение удаленно управляет другим устройством через Wi-Fi, и мне нужно обнаруживать каждое нажатие клавиш на программной или жесткой клавиатура. Мне действительно не нужен EditText, потому что мне просто нужно отправлять символы по одному по мере их нажатия, и мне не нужна последняя текстовая строка.

Я пробовал использовать EditText с OnKeyPress, но наткнулся на проблемы здесь с отсутствием нажатия клавиш на программных клавиатурах. А TextWatcher - не лучший вариант, потому что мне нужно каждое нажатие клавиши.

Я буду использовать EditText, если нужно, но предпочел бы этого не делать. На самом деле я хочу:

  • Вызывать программную клавиатуру, когда пользователь нажимает кнопку поиска
  • Пользователь нажимает клавиши, и я передаю коды на удаленное устройство. На самом деле не нужно ничего видеть на экране в EditText, так как он будет отображаться на удаленном устройстве
  • Пользователь нажимает настраиваемую кнопку «Готово» на виртуальной клавиатуре, чтобы закрыть ее

Есть предложения?

8
задан Community 23 May 2017 в 12:31
поделиться