我正在开发一个使用 USB OTG 条形码扫描仪的 android 应用程序。我们在片段中制作了一个自定义键盘,并自定义了一个 EditText,它与我们自己的键盘片段进行通信以进行编写。
一切都很好,直到我使用 webview 显示网页,因为我们无法将自定义键盘连接到 webview,所以我们决定显示原生键盘,但原生键盘没有出现。
据我了解,当android检测到barcodescanner时,它会将其设置为默认键盘,除非我拔下barcodescanner,否则我无法更改为本机键盘。
我正在使用棒棒糖。
我尝试按照此处的建议在 web 视图上捕获 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;
}
});
提前致谢。