Решить слишком много перенаправления в Android WebView - PullRequest
0 голосов
/ 26 апреля 2019

Я создал андроид WebView и открыл свой веб-сайт, сервер которого с https и перенаправлением аутентификации все равно успешно работает во всех современных браузерах, таких как Opera, Chrome, Firefox, Edge и Eth, но в Android WebView я получил 'слишком много перенаправления' ошибка Кстати, когда я установил WebView режим кэширования в none, эта ошибка исчезла, но мне нужен режим кэширования, Любое тело может мне помочь?

1 Ответ

0 голосов
/ 04 июля 2019

Используйте этот код для инициализации веб-просмотра и установки 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">

Вы можете узнать больше об использованииCleartextTraffic

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...