【发布时间】:2020-11-12 15:03:05
【问题描述】:
我想用WebWiew打开一个网页,url以“http://”开头,没有“https://”(这点我不擅长)
下面是我的代码;
xml文件
// ...
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
//...
在片段中;
@SuppressLint("SetJavaScriptEnabled")
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
webView.settings.javaScriptEnabled = true
webView.settings.builtInZoomControls = true
webView.settings.domStorageEnabled = true
webView.settings.databasePath = ""
// webView.webChromeClient = WebChromeClient()
webView.webViewClient = WebViewClient()
val url: String = "xxxxxxxxxxx"
webView.loadUrl(url)
}
不幸的是页面是这样打开的;
我已经在清单文件中添加了;
android:usesCleartextTraffic="true"
另外我也试过
android:networkSecurityConfig="@xml/network_security_config"
network_security_config.xml 在哪里
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">www.xxx.com</domain>
</domain-config>
</network-security-config>
最后我也试过AdvancedWebView,但结果是一样的
【问题讨论】:
-
看来你应该启用javascript。
-
我已通过“webView.settings.javaScriptEnabled = true”启用它
-
然后尝试启用缓存:
webView.settings.appCacheEnabled = true
标签: javascript android webview