在我的应用程序中,我正在使用webView来调用URL。我的网站正在使用 Web 套接字来更改值。当我在Chrome应用程序中打开相同的URL时,它的值发生了变化,这意味着Web套接字工作正常。但是,在webView内部,值并没有发生变化。是否意味着网络套接字在网络视图小部件中不支持。在哪里,我注意到WebViewClient的onLoadResource()方法不断调用无限次。
Web 套接字不起作用,因为默认情况下禁用本地存储。
在我的Android WebView中启用它解决了这个问题。
webView.getSettings().setDomStorageEnabled(true);
就我而言,我还必须启用AppCache。它现在工作正常。
final WebSettings settings = web.getSettings();
settings.setLoadsImagesAutomatically(true);
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setAppCacheEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
settings.setSafeBrowsingEnabled(false);
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
web.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager.getInstance().setAcceptThirdPartyCookies(web, true);
}
// Extras tried for Android 9.0, can be removed if want.
settings.setAllowContentAccess(true);
settings.setAllowFileAccess(true);
settings.setBlockNetworkImage(false);
首先检查您的错误代码;如果代码是: ERR_CLEARTEXT_NOT_PERMITTED
尝试将其添加到AndroidManifest.xml
中的应用程序标记中,如下所示:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">