2

我正在开发一个使用 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;
        }
    });

提前致谢。

4

0 回答 0