Android 12(S)新特性小结
Posted guangdeshishe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 12(S)新特性小结相关的知识,希望对你有一定的参考价值。
新功能:
- 引入全新的统一API(OnReceiveContentListener)用于组件接收富媒体内容
- 应用通过配置,支持自动将设备上录制的 HEVC(H.265) 和 HDR(HDR10 和 HDR10+)视频转码为更广泛兼容的 AVC (H.264)格式
- 支持AVIF格式图片
- 支持从音频产生触感反馈效果,增强游戏和音频身临其境的体验
- ImageDecoder支持解码gif和webp格式图片
- 在非 DPC 应用中提供设备属性验证
- 增强了Wi-Fi感知功能
影响应用的行为变更
所有应用:
无论采用哪种 targetSdkVersion 都不例外
- 改进沉浸模式下的手势导航,防止意外手势导致退出,所有全屏或者沉浸式体验都允许用户通过手势导航
- 前台服务支持延迟10秒显示通知
- 进一步限制非系统应用获取MAC地址,不论API级别为多少都是一样
- 不受信任的触摸事件会被屏蔽,系统会屏蔽穿透某些窗口的触摸事件
- 应用不能通过Intent关闭系统对话窗口
- 更新了受限制非SDK接口列表,也就是无法通过反射来访问那些接口的方法或者字段
仅影响以android 12为目标平台的应用:
- WebView加强了Cookie的管理,通过SameSite属性决定它是可以与任何请求一起发送,还是只能与同站点请求一起发送
- 通过adb backup命令导出系统数据时不包含应用数据,android:debuggable设置为true则可以允许导出应用数据
- Activity/Service/BroadcastReceiver只要声明了了Intent过滤器,必须要加上android:exported属性,否则无法安装到Android 12的设备上
- PendingIntent需要加上PendingIntent.FLAG_MUTABLE或PendingIntent.FLAG_IMMUTABLE标志,否则会抛出IllegalArgumentException异常
- 支持通过VmPolicy调用detectUnsafeIntentLaunch()方法来检测Intent中传递Intent对象的行为,以提高安全性
- 禁止应用在后台启动前台服务(除少数特殊情况外),考虑使用WorkManager代替;例如,不能从通知栏点击时,在Service或者BroadcastReceiver中启动Activity;只能用PendingIntent来实现该操作
- 通知栏的通知样式不能完全自定义,改为限制在系统通知栏样式框架内的一部分区域
- Android12以及更高版本为目标平板的设备,在使用"点对点连接"功能时,不会断开wifi连接
以上是关于Android 12(S)新特性小结的主要内容,如果未能解决你的问题,请参考以下文章