项目搞到一半,突然发现个诡异的问题,H5登录的后的头像居然不见了,本人用的是Android6.0,平常都没什么感觉有bug,webview套h5,登录方式有2种,一种是普通手机号登录,一种是第三方登录,而今天突然使用第三方登录后,H5的登录头像不见了,剩下个名字,后来试了一下模拟器,平常习惯使用api16 的,又没问题。。。
后来研究了一下,发现是版本的问题,在网上搜索了一下,原来是https的问题,本来我公司以前使用的是http的,今年要用https,所以一开始没什么问题,前段时间把网址都更换成https了。。。
https就是http的安全版,它在http的基础上加入了ssl层。https协议在使用的时候需要申请一个安全证书,我就想是不是安全证书有问题,回头一想假如安全证书有问题,页面应该是直接显示空白才对。问题又出在哪,于是我把网页路径复制到了浏览器打开,然后查看了一下网页源码,发现图片的引用是http的,问题会不会就出在这呢。果然不出所料。
解决方法:
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.LOLLIPOP){ wv.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); }在Android5.0以下的不需要也可以。