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,Framework,android)