android webview 添加加载错误提示

在setWebViewClient中重写这几个方法

            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.proceed();
                view.loadUrl("about:blank");
                tvError.setVisibility(View.VISIBLE);
            }


            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
                super.onReceivedError(webView, webResourceRequest, webResourceError);
                //是否是为 main frame创建
                if (webResourceRequest.isForMainFrame()) {
                    webView.loadUrl("about:blank");
                    // 加载自定义错误页面
                    tvError.setVisibility(View.VISIBLE);
                }

            }

            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                super.onReceivedError(view, errorCode, description, failingUrl);
                //6.0以下执行
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    return;
                }
                view.loadUrl("about:blank");
                tvError.setVisibility(View.VISIBLE);
            }

            @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
                view.loadUrl("about:blank");
                view.removeAllViews();
                tvError.setVisibility(View.VISIBLE);
                super.onReceivedHttpError(view, request, errorResponse);
            }

因为 第三个方法 onReceivedError  已经过时,在这里写是为了兼容6.0以下的版本

view.loadUrl("about:blank"); 方法必须添加,不然的还是会显示404等那些错误信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值