问题现象

​webview​​一片空白,而各种浏览器都可以访问此url。但是会提示证书不安全的问题

解决思路

因为不管是手机访问,还是浏览器访问,都会提示证书问题,而
​​​webview​​​有一个​​setWebViewClient(new MyWebViewCliecnt())​​​方法,当​​webview​​​加载的网页出现证书问题的时候,就会回调​​MyWebViewCliecnt​​的

@Override
public void onReceivedSslError(final WebView view, final SslErrorHandler handler, SslError error) {
}

方法。同时会默认执行​​handler.cancel()​​方法,如图

webView因证书问题显示一片空白_加载


​WebViewClient​​​ 在调用了上面的 ​​SslErrorHandler​​​ 的 ​​cancel​​​ 方法以后,就马上会回调 ​​onPageFinished​​​ 方法,不会回调 ​​onReceivedError​​​ ,所以也就不会展示自定义的加载错误页面,结果就是一片空白了。而我们要做的,就是重写​​onReceivedSslError​​​方法,并执行​​handler.proceed()​​,表示如果证书不对,还是选择进入网页

如图

webView因证书问题显示一片空白_自定义_02


这样就可以进入了。

​参考文章​