Android WebView 无法从某些设备的键盘接收输入

标签 android android-webview

我有一个奇怪的案例,我使用 webview 打开一个表单页面,允许用户在其中输入一些信息。当我在某些设备(如三星)上试用时,它工作正常,但当我在其他设备(如小米、华硕等)上试用时,它不起作用。弹出键盘,但是当我键入它时,页面中的文本框失去了焦点。我找到了使用此代码的解决方法,但有一个缺点,每次我触摸屏幕时,三星的 webview 总是回到顶部(但在小米等设备上工作正常)。有什么方法可以使它们都适用吗?

        mPaymentWebView.getSettings().setJavaScriptEnabled(true);
        mPaymentWebView.getSettings().setUseWideViewPort(true);
        mPaymentWebView.requestFocus(View.FOCUS_DOWN);
        mPaymentWebView.requestFocusFromTouch();

        mPaymentWebView.requestDisallowInterceptTouchEvent(true);
        mPaymentWebView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent event) {
                Log.d("test keyboard","in");
                mPaymentWebView.requestFocusFromTouch(); //this makes it work
                return false;
            }
        });

这是 XML

 <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <WebView
        android:id="@+id/web_view_payment"
        android:focusableInTouchMode="true"
        android:windowSoftInputMode="adjustResize"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </WebView>
    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:id="@+id/progress_bar_webview"
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:layout_alignParentBottom="true"
        android:progress="5"
        android:max="100"
        android:progressDrawable="@drawable/progress_bar" />

</FrameLayout>

我已经使用了这个问题的所有答案,但没有一个能正常工作 Why is Android WebView refusing user input?

最佳答案

请检查是否安装了Android System WebView。 如果是这样,请进入设置->应用->Android 系统 Webview->卸载更新

卸载更新

关于Android WebView 无法从某些设备的键盘接收输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27616471/

相关文章:

java - 将十六进制作为字节发送到打印机

android - 在哪里可以找到官方的 'Available in Android Market' 图标?

java - 安卓工作室 : Jar files included within Java module aren't found at runtime

android - Web View 身份验证

android - 我网站在 android webview 中的 Facebook 聊天按钮未打开 Messenger 应用程序

android - CrossWalk - 接受语言 header

Java/Android 倒数计时器

java - 使用 CustomAdapter 更改 ListView 的显示方式

android - 下载开始并显示应用程序后如何关闭 WebBrowser?

javascript - WebView.loadUrl() 中的 Android JS