首页
论坛
课程
招聘
[基础理论] [系统相关] [原创]安卓12(Android S)新增API介绍以及SDK适配详解
2021-2-25 03:39 4419

[基础理论] [系统相关] [原创]安卓12(Android S)新增API介绍以及SDK适配详解

2021-2-25 03:39
4419

谷歌前几天发布了安卓12的第一个开发者预览版

来一份迟到的详解

安卓12新增API介绍

让我们看看安卓12新增的API

安卓12新增了媒体内容接收统一API

内容接收统一API类似Windows的WM_DROPFILES,也就是拖拽文件到应用上、粘贴文件到应用窗口的时候响应内容。安卓12提供了OnReceiveContentListener这个API,具体使用例子由于篇幅太长,可以参考我的博客链接:OnReceiveContentListener API完整代码详解
拖拽以及粘贴响应

媒体转码兼容

安卓12以及以后平台可以将H.265、HDR10媒体格式自动转码为H.264,有的软件可能不支持HDR10、H.265一类的格式(这时候分享到这个软件的视频流就得转码了)。如果我们支持H.265并且不想更改xml,就可以在代码内直接强制系统将分享、读取来的媒体流强制转码成我们所需要的格式,例如我们想要H.264的格式,就可以禁用H.265、HDR10等格式,由于xml、代码篇幅太长,具体参考这里

图片新格式

安卓12兼容AVIF格式的图片,而这个格式的文件是使用AV1来编码的,而谷歌、火狐的浏览器已经支持这种图片格式很久了,优点是画质降低不多,体积特别小,比WebP还小,更高的画质更小的体积!
当然安卓11以及之前仍然可以使用媒体转码之类的库在应用当中直接读取AVIF图片,不一定要把系统升级到安卓12才能看这种格式的网络图片。

其它变更

安卓12带来了类似设备属性验证等新功能,设备属性一般是从Build里面的BRAND、DEVICE、MANUFACTURER、MODEL以及PRODUCT当中采集信息直接生成的。安卓12也带来了集团模式,支持安全增强的工作概述等。

简单适配安卓12

适配安卓12很简单

 

PendingIntent在适配安卓12以后必须声明FLAG_MUTABLE,否则崩溃。具体参考这里
只要是适配安卓S的应用,则所有接收器、提供者、服务以及对外启动的活动的android:exported属性必须显式声明,否则无法安装并报错。

 

安卓12也更改了通知的样式部分,具体参见安卓开发者网站。
安卓12的通知栏样式示例

 

安卓12的第一个预览版带来的变更大致就是这些,相信Beta版本会带来更多的变更内容,期待5月左右发布的Beta版本吧!


第五届安全开发者峰会(SDC 2021)议题征集正式开启!

收藏
点赞2
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回