Android WebView设置解决 打不开网页重定向等问题。

``

private boolean isRedirect = false; //是否是重定向
private boolean isPageOk = false; //目的地地址加载完成

wvContent.setWebViewClient(webViewClient);

protected WebViewClient webViewClient = new WebViewClient() {
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        handler.proceed();  // 接受所有网站的证书
    }

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
        isRedirect = true;
        isPageOk = false;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        isPageOk = isRedirect;
    }

    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        isRedirect = false;
        if (isPageOk) {
            //这段是防止网页面内部视频等打不开
            try {
                if (!url.startsWith("http://") && !url.startsWith("https://")) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    startActivity(intent);
                    return true;
                }
            } catch (Exception e) {
                return true;
            }
            //这段是为了打开重定向网页
            view.loadUrl(url);
            return true;
        }
        return false;//如果这里返回true,B站打不开
    }
};

``

你可能感兴趣的:(Android WebView设置解决 打不开网页重定向等问题。)