安卓开发中的系统版本兼容的注意事项(一)(Android5.0 API21)

传送门:安卓开发中的系统版本兼容的注意事项(二)(Android6.0 API23)

安卓开发中的系统版本兼容的注意事项(三)(Android7.0 API24)

安卓开发中的系统版本兼容的注意事项(四)(Android8.0 API26)

作为安卓开发者最头疼的一点,莫过于谷歌越来越快的版本更新速度。以及升级编译版本后需要面对的大量兼容性异常。尤其是今年电信终端产业协会(TAF)发布了《移动应用软件高API等级预置与分发自律公约》。https://baike.baidu.com/item/移动应用软件高API等级预置与分发自律公约/22759862

逼着你升级,想不升级都不行。

下面将根据自己实际项目中升级开发版本的经验,对每个版本的注意事项做一下总结性回顾。方便自己以后查阅方便,也可以给有这方面需求的新手提供一点借鉴。

一、WebView中Http和Https混合问题

升级到5.0+以后,我们会发现,WebView中加载的有些图片会空白不显示。从后台信息中,我们可以看到,这些图片资源都是https的。

这是因为从Android5.0以后,当一个安全的站点(https)去加载一个非安全的站点(http)时,系统将拒绝加载对应资源。需要配置Webview加载内容的混合模式,我们可以通过修改webSetting的方式来解决此问题。

//允许混合内容,5.0之后的api
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

注意,前面的版本判断一定不能忘。否则低版本会报错。

补充知识:关于WebView无法自动播放video标签里的视频的问题。在安卓4.2以上,浏览器默认是禁止视频自动播放的。只能通过手势点击去触发播放事件。如需自动播放需要修改WebSetting。解决方法如下:

//允许视频自动播放
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
    webSettings.setMediaPlaybackRequiresUserGesture(false);

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值