我创建了一个Android WebView
,并打开了我的网站,该服务器通过https和身份验证重定向成功运行,无论如何,该操作在opera,chrome,Firefox,edge和eth等所有现代浏览器中都可以成功运行,但在android WebView
中我收到“重定向过多” 错误
顺便说一下,当我将WebView
缓存模式设置为none时,该错误消失了,但是我需要缓存模式,
有谁可以帮助我?
答案 0 :(得分:1)
使用此代码初始化Webview并设置url,在所有Android版本上都可以正常工作
@SuppressLint("SetJavaScriptEnabled")
private fun initWebView() {
webView.settings.javaScriptEnabled = true
webView.settings.loadsImagesAutomatically = true
webView.scrollBarStyle = View.SCROLLBARS_INSIDE_OVERLAY
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null)
}
private fun webViewListener() {
webView.webViewClient = object : WebViewClient() {
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
super.onPageStarted(view, url, favicon)
Log.d(TAG, url)
}
override fun onReceivedError(view: WebView, request: WebResourceRequest,
error: WebResourceError) {
super.onReceivedError(view, request, error)
//Error load url
}
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
//Loading url
view?.loadUrl(url)
return true
}
}
}
在清单文件中添加此行
<application
...
android:usesCleartextTraffic="true">