webview个别页面显示空白

今天遇到一个h5页面加载空白的问题,只有个别页面才有这种空白问题。

检查才发现是 WebView可以用来加载http和https网页到本地应用的控件。但是在默认情况下,通过loadUrl(String url)方法,可以顺利loadUrl(“http://www.baidu.com”)之类的页面。

但是,当load通过ssl加密的https页面,但是如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像自带的浏览器一样弹出提示。

因此,我们必须针对这种情况进行处理。
解决方法

webview.setWebViewClient(new WebViewClient() {
    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
 
        // 不要使用super,否则有些手机访问不了,因为包含了一条 handler.cancel()
        // super.onReceivedSslError(view, handler, error);
 
        // 接受所有网站的证书,忽略SSL错误,执行访问网页
        handler.proceed();
    }
}

 问题 由此解决。

上一篇:Android使用WebView获取网页文本


下一篇:Native地图与Web融合技术的应用与实践