2012-03-07 2 views
2

В моем приложении я должен определить, подключена ли внешняя клавиатура к устройству, чтобы определить, что показывать пользователям.Как определить, подключено ли устройство Android к внешней клавиатуре?

Я знаю, что мягкая клавиатура не будет отображаться, если на моем устройстве подключена внешняя клавиатура, Xoom android 3.1.

Как узнать, подключено ли устройство Android к внешней клавиатуре через USB или Bluetooth?

Спасибо!

+0

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

ответ

1

Вам необходимо использовать BroadcastReceiver и зарегистрировать его для фильтра намерений для действий Bluetooth. Вам придется искать USB API для другого. BroadcastReceiver метод onReceive будет обрабатывать эти действия.

+3

Спасибо. Я планировал сделать то, что ты сказал, и я нашел другой способ сделать это. Добавьте android: configChanges = "keyboard" в AndroidManifest.xml, onConfigurationChanged будет вызываться, когда внешняя клавиатура подключается или удаляется. Он может быть проверен [newConfig.hardKeyboardHidden] (http://developer.android.com/reference/android/content/res/Configuration.html#hardKeyboardHidden) –

+0

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

1

вы можете узнать, если Bluetooth клавиатура подключена к устройству с андроида getResources().getConfiguration().keyboard != Configuration.KEYBOARD_NOKEYS;

если она возвращает истину, то Bluetooth клавиатура подключена, ложь в противном случае.

Смежные вопросы