首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Webview在非活动状态恢复时抛出"err_SSL_VERSION_INTERFERENCE“

Android Webview在非活动状态恢复时抛出"err_SSL_VERSION_INTERFERENCE“
EN

Stack Overflow用户
提问于 2021-05-20 23:45:39
回答 1查看 46关注 0票数 0

我正在制作一个应用程序,其中有一个片段内的网页视图!webview显示了一个https网站,它运行良好!但过了一段时间,当我使用应用程序时,它抛出了"err_SSL_VERSION_INTERFERENCE“。我可以恢复它的唯一方法是强制关闭应用程序并重新启动它。有没有办法处理这个异常并重新加载页面?

我在webview片段中使用的代码是:

代码语言:javascript
复制
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(webUrl);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });

    webview.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            progressBar.setVisibility(View.VISIBLE);
            progressDialog.show();
            if(newProgress==100){
                progressBar.setVisibility(View.GONE);
                progressDialog.dismiss();
            }
            super.onProgressChanged(view, newProgress);
        }
    });
}

错误日志:

代码语言:javascript
复制
E/chromium: [ERROR:ssl_client_socket_impl.cc(947)] handshake failed; returned -1, SSL error code 1, net_error -101
D/NetworkSecurityConfig: No Network Security Config specified, using platform default

任何帮助都将不胜感激!谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-05-21 00:31:35

下面这段代码对我很有效。

代码语言:javascript
复制
 val webView = view.findViewById<View>(R.id.webview_payment) as WebView
    webView.isVerticalScrollBarEnabled = true;
    webView.loadUrl(requireArguments().getString("redirect_url")!!)

    val settings: WebSettings = webView.settings
    settings.allowUniversalAccessFromFileURLs = true
    settings.javaScriptEnabled = true
    settings.javaScriptCanOpenWindowsAutomatically = true
    settings.cacheMode = WebSettings.LOAD_NO_CACHE
    settings.setAppCacheEnabled(false)
    settings.domStorageEnabled = true
  //  webView.webViewClient = WebViewClient()



    webView.webViewClient = object : WebViewClient() {

        override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
            val url = request?.url.toString()

            view?.loadUrl(url)
            return super.shouldOverrideUrlLoading(view, request)
        }


        override fun onPageFinished(view: WebView?, url: String?) {
            webView.visibility = View.VISIBLE

            Log.e("CurrentUrl", "ur :" + url.toString())

          


            super.onPageFinished(view, url)
        }

        override fun onReceivedError(
            view: WebView,
            request: WebResourceRequest,
            error: WebResourceError
        ) {
            super.onReceivedError(view, request, error)
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67623785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档