Я разрабатываю приложение для Android, в котором используется сканер штрих-кодов USB OTG. Мы создали собственную клавиатуру во фрагменте и настроили EditText, который взаимодействует с нашим собственным фрагментом клавиатуры для записи.
Все работает хорошо, пока я не использовал веб-просмотр для отображения веб-страницы, потому что мы не можем подключить нашу пользовательскую клавиатуру к веб-просмотру, поэтому мы решили показать родную клавиатуру, но родная клавиатура не появляется.
Насколько я понимаю, когда Android обнаруживает сканер штрих-кодов, он устанавливает его как клавиатуру по умолчанию, и я не могу перейти на родную клавиатуру, если не отключу сканер штрих-кодов.
Я использую леденец.
Я попытался поймать onTouchEvent в веб-представлении, как было предложено здесь, и я могу обнаруживать события onTouch и обнаруживать, когда я касаюсь текстового поля
servicesWebView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
WebView.HitTestResult hr = ((WebView) v).getHitTestResult();
if(hr.getType() == 9) {
Toast.makeText(context, "touch textarea", Toast.LENGTH_SHORT).show();
}
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
return false;
}
});
Заранее спасибо.