Узнайте, есть ли на устройстве программные клавиши

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

Немного справочной информации: Можно скрыть программные клавиши, когда они отображаются на экране, но если вы сделаете это, они автоматически отобразятся, если пользователь дотронется до дисплея, что совершенно нормально. Теперь, если вы сделаете то же самое на устройстве с аппаратными клавишами, первое касание все равно будет зафиксировано системой, как если бы оно снова показало программные клавиши, но, если их нет, ничего не происходит, и событие касания не передается приложению.

2 ответа

Решение

Вы могли бы использовать ViewConfiguration.hasPermanentMenuKey(), чтобы проверить ключ меню.

Для Клавиатуры-вопроса попробуйте

getResources().getConfiguration().keyboard

это дает вам одно из следующего:

  • KEYBOARD_NOKEYS
  • KEYBOARD_QWERTY
  • KEYBOARD_12KEY

проверьте KEYBOARD_NOKEYS.

Другие вопросы по тегам