解决 android webview 重定向过多的问题

Solve too many redirect in android webview

我创建了一个 android WebView 并打开了我的网站,该网站使用 https 和身份验证重定向作为服务器,无论如何这在所有现代浏览器(如 opera、chrome、Firefox、edge)中都能成功运行和 eth 但在 android WebView 我得到了 'too many redirect' 错误 顺便说一下,当我将 WebView 缓存模式设置为 none 时,这个错误消失了,但我需要缓存模式, 任何人都可以帮助我吗?

使用此代码初始化 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">

You can read more about usesCleartextTraffic