当前位置: 首页 > 知识库问答 >
问题:

android 4.4.2中的webview冻结

闽涵蓄
2023-03-14
    null
webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setPluginState(PluginState.ON);
    webView.getSettings().setRenderPriority(RenderPriority.HIGH);
    webView.getSettings().setGeolocationEnabled(true);
    webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    webView.getSettings().setAllowFileAccess(true);

我设置了webclient

webView.setWebChromeClient(new WebChromeClient() {            

@override公共布尔onShowFileChooser(WebView WebView,ValueCallback filePathCallback,FileChooserParams FileChooserParams){返回True;}@override public void onGeolocationPermissionsShowPrompt(String origin,Geolocationpermissions.callback callback){callback.invoke(origin,true,false);}//openFileChooser for Android 3.0+public void openFileChooser(ValueCallback uploadMsg,String acceptType){}//openFileChooser for Android<3.0 public void openFileChooser(ValueCallback uploadMsg,String acceptType){}//openFileChooser for其他Android版本public void openFileChooser(ValueCallback uploadMsg,String acceptType){openFileChooser(uploadMsg,acceptType);}公共布尔OnConSeleSessage(ConSeleSessage cm){OnConSeleSessage(cm.message(),cm.lineNumber(),cm.sourceID());返回true;}public void onconeLoneSessage(String message,int lineNumber,String sourceID){}});//End setWebChromeClient

    webView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return true;
        }
        @Override

        public void onPageFinished(WebView view, final String url) {

            super.onPageFinished(view, url);
            CookieSyncManager.getInstance().sync();
            Log.i("finished", url);
        }
    });

这是我的xml

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF"
    tools:context=".LandingActivity">

    <WebView
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/include"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="none"
        android:visibility="gone" />
    <ImageView
        android:id="@+id/splash"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@drawable/splash"
        android:visibility="gone" />
    <include
        android:id="@+id/include"
        layout="@layout/bottom_option"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />
    <FrameLayout
        android:id="@+id/framLay"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="gone">
    </FrameLayout>
</RelativeLayout>
<LinearLayout
    android:layout_width="300dp"
    android:layout_height="fill_parent"
    android:layout_gravity="end"
    android:background="@color/white"
    android:orientation="vertical">
    <ListView
        android:id="@+id/navdrawer"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:background="@android:color/white"
        android:choiceMode="singleChoice"
        android:drawSelectorOnTop="false"></ListView>
    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_marginBottom="2dp"
        android:layout_marginTop="2dp"
        android:background="#454545" />
    <ListView
        android:id="@+id/navdrawer2"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_weight="1"
        android:background="@android:color/white"
        android:choiceMode="singleChoice"
        android:drawSelectorOnTop="false"></ListView>
    <TextView
        android:id="@+id/tvVersion"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="1dp"
        android:gravity="center" />
    <include layout="@layout/listview_bottom" />
</LinearLayout>

共有1个答案

宰父淳
2023-03-14

使用3.0.0及以上版本的Gradle和compileSdkVersion 26以上版本会导致此问题...

我的解不是精确解,但它解决了问题...将app gradle切换到

classpath 'com.android.tools.build:gradle:2.3.0'

将模块级切换到

compileSdkVersion 25
buildToolsVersion '25.0.2'
 类似资料:
  • 我已经为android Studio创建了一个webview应用程序。但没有加载web URL。错误为NET::ERR_ACCESS_DENIED。有谁能帮忙吗

  • 如果注释掉,框架显示得很好。 我还应该做什么来显示文件选择器?

  • 我读到应该重写方法。但是我得到一个错误,不能为重写“shouldoverrideurlloading”。 如果您能给出一个具有progressbar和webView的示例,并在同一个webView中打开新的URL,我将非常高兴。

  • 我是Java和JavaFX的新手,我只是想知道JavaFX的webview是否可以运行javascript本身,除了它与java代码的通信之外。例如,当窗口加载时,我可以在webview中运行javascript警报语句,并在webview中实际获得警报,就像在普通浏览器中一样。我知道我可以通过以下方式使用我的java代码捕获此警报事件 <代码>Web引擎。setOnAlert设置 但我实际上希望

  • 本文向大家介绍如何冻结JavaScript中的对象?,包括了如何冻结JavaScript中的对象?的使用技巧和注意事项,需要的朋友参考一下 在实时世界中,JavaScript没有其他语言中的传统类。它具有对象和构造函数。 Object.freeze()是许多有助于冻结对象的构造函数方法之一。 冻结对象不允许将新属性添加到该对象,并且还阻止该对象更改其自身的属性。Object.freeze()将始终

  • webview标记用于在您的Electron应用中嵌入“来宾”内容,例如网页。 此内容包含在webview容器中。 应用内的嵌入式页面控制着如何显示此内容。 webview在与您的应用程序不同的进程中运行。 为确保恶意内容的安全性,webview与您的网页没有相同的权限。 这可以确保您的应用免受嵌入内容的侵害。 您的应用与嵌入页面之间的所有互动都将是异步的。 让我们考虑一个示例来了解在我们的Ele