在Android 5.0上webview默认不允许加载http与https混合内容:
比如你访问的网页为http://xxx.com/a.html,
则如果a.html包含了https的资源,则此资源不会显示。
如果仔细观察log,可以看到如下的内容提示:
。。。。。。was loaded over HTTPS, but requested an insecure image。。。。。。。。。。
So,该怎么解决呢?很简单,只需设置webSettings,允许其加载混合网络协议内容即可。
//webview在安卓5.0之前默认允许其加载混合网络协议内容
// 在安卓5.0之后,默认不允许加载http与https混合内容,需要设置webview允许其加载混合网络协议内容
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}