问题来源:在利用android的webview作为外壳,内部使用html5进行混合开发的方式进行app开发中,通常需要webView用来load不同协议的URL,如:http和https网页到本地应用的控件。在默认情况下,通过loadUrl(String url)方法,可以顺利load网页(http协议)。但是,当load有ssl层的https页面时,如果这个网站的安全证书在android端无法得到认证,webView就会变成一个空白页或不断的提示要信任该网站的证书。因此,我们必须针对这种情况进行处理。
解决方式:继承webview中WebViewClient,实现其中的onReceivedSslError()方法,代码如下:
@Override
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
//信任来自任何网站(http站)的证书
sslErrorHandler.proceed();
}