问题现象
webview
一片空白,而各种浏览器都可以访问此url。但是会提示证书不安全的问题
解决思路
因为不管是手机访问,还是浏览器访问,都会提示证书问题,而
webview
有一个setWebViewClient(new MyWebViewCliecnt())
方法,当webview
加载的网页出现证书问题的时候,就会回调MyWebViewCliecnt
的
方法。同时会默认执行handler.cancel()
方法,如图
WebViewClient
在调用了上面的 SslErrorHandler
的 cancel
方法以后,就马上会回调 onPageFinished
方法,不会回调 onReceivedError
,所以也就不会展示自定义的加载错误页面,结果就是一片空白了。而我们要做的,就是重写onReceivedSslError
方法,并执行handler.proceed()
,表示如果证书不对,还是选择进入网页
如图
这样就可以进入了。
参考文章