Как включить как аппаратные, так и виртуальные клавиатуры на Android бутерброд с мороженым

Я'm разработка приложения для управления запасами с Django для клиента's компании, и хотят использовать сэндвич-планшет с мороженым в качестве устройства конечного пользователя. Я использую USB-устройство для считывания штрих-кодов, которое прекрасно работает.

Моя проблема в том, что после подключения устройства для считывания штрих-кода, он&#39 распознается как настоящая клавиатура, и я могу&#39 больше не иметь доступа к виртуальной клавиатуре. Это большая проблема для меня, потому что я использую считыватель штрих-кодов только для кодирования EAN13 кодов, и мне нужна мягкая клавиатура рядом с...

Есть ли способ включить как виртуальную, так и настоящую клавиатуру? Мне очень нужна помощь.....

Спасибо!

Комментарии к вопросу (4)
Решение

Ну, я нашел решение своей проблемы! (Дон' теперь не знаю, что насчет награды...)

Когда вы вводите текстовую область (например : на навигаторе), нужно просто коснуться иконки клавиатуры слева от часов. Там рядом с " используйте физическую клавиатуру" вы должны выбрать " No".

Я обнаружил, что даже при таком раскладе программа для считывания штрих-кода все равно будет активна (yessss !), а на экране появится еще и софт-клавиатура !

Комментарии (5)

Да, сканер штрих-кодов обнаружен как Физическая Клавиатура. Когда клавиатура подключена к устройству, по умолчанию функциональная клавиатура отключена. Для ее включения необходимо отключить аппаратную клавиатуру:

Настройки и гт; Язык & Input > Выберите Способ ввода

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

И НЕТ, в настоящее время нет возможности программно это сделать. Самое большее, что мы можем сделать, это определить, когда сканер/клавиатура подключен, и перенаправить пользователя в окно выбора метода ввода, переопределив метод onConfigurationChanged, как этот:

@Override
public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {

    ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
                                  .showInputMethodPicker();
    Toast.makeText(this, "Barcode Scanner detected. Please turn OFF Hardware/Physical keyboard to enable softkeyboard to function.", Toast.LENGTH_LONG).show();
  }
}
Комментарии (7)

Вы можете использовать InputMethodManager, чтобы заставить программную клавиатуру открыться:

InputMethodManager imm = (InputMethodManager)getContext().getSystemService(
                                              Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
Комментарии (9)

Попробуйте это, чтобы заставить открыть программную клавиатуру:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);

Чтобы закрыть обратно софт-клавиатуру:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(_pay_box_helper.getWindowToken(), 0);
Комментарии (3)

Я не программист, но у меня здесь все те же проблемы, что и у меня. После долгих поисков в Интернете, я нашел клавиатуру через магазин Google Play, который, кажется, работает отлично для нас (BT Scanner & хотят SoftKeyboard в то же время). It's называется Hacker's Клавиатура Клауса Вайднера.

Просто используйте Hackers Keyboard, перейдите в Setting-> прокрутите вниз к "Language & Input" --> Hacker's Клавиатура --> перейдите к --> Конфигурации --> Прокрутите вниз к "INPUT MODE SETTINGS" --> Убедитесь, что "Show Soft Keyboard Always" отмечен. Мягкая клавиатура не будет работать, даже если сканер подключен через Bluetooth. Работает также при отсоединении и повторном подключении сканера Bluetooth.

Комментарии (0)

Doesn' не работает со складской клавиатурой, так как иконка не отображается. Вам нужно либо установить другое клавиатурное приложение, либо приложение для переключения между клавиатурами (даже если вы не устанавливаете' если вы не устанавливаете другую клавиатуру, она просто покажет иконку).

Комментарии (0)