Android: Есть ли способ программно включить-выключить физическую клавиатуру?

У меня андроид 3.1 с возможностью USB хоста. Подключил к нему через usb считыватель RFID, который работает как эмулятор клавиатуры. Для эмулятора клавиатуры я имею в виду, что когда я сканирую тег, он отправляет вывод в виде нажатий клавиш.

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

Я безуспешно пробовал примеры «принудительного отображения программной клавиатуры»: они работают, пока я не подключу считыватель RFID. Тогда софт клава пропадает несмотря ни на что!!!

Мое программное обеспечение будет работать в "режиме киоска", поэтому я прошу сделать этот процесс программным. Это не вопрос удобства использования.

Любая помощь очень ценится.


person Arthur Flower    schedule 08.12.2011    source источник
comment
Вы пытаетесь скрыть аппаратную клавиатуру (как указано в заголовке) или показать программную клавиатуру (как указано в вашем вопросе)?   -  person Phil    schedule 08.12.2011


Ответы (1)


У вас есть какой-нибудь editText или что-то подобное, чтобы таким образом сфокусироваться?

someEditText.requestFocus();
InputMethodManager mgr = (InputMethodManager)getActivity(). 
getSystemService(Context.INPUT_METHOD_SERVICE);                 
mgr.showSoftInput(someEditText, InputMethodManager.SHOW_IMPLICIT);

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

person jegumi    schedule 08.12.2011
comment
Этот вопрос теперь бесполезен, потому что на Android 3.1+ есть переключатель вкл / выкл. - person Arthur Flower; 03.06.2012