Android 13带来了哪些新功能?需要哪些适配工作?手机剪贴板「Android 13带来了哪些新功能?需要哪些适配工作?」
目前Google已经发布了Android13的正式版,虽然国内的手机能用上Android13还有一段时间,不过开发者们可以通过模拟器来体验,那么我们来看看Android13都有哪些重要的改变,我们适配的话需要做哪些工作?
先来看看Android13带来来哪些新的改变,这里我挑了一些对我们比较重要的来说。
具体可以参考https://developer.android.google.cn/about/versions/13/features
让应用图标随着主题换色。
首先应用要提供自适应图标和单色应用图标,并通过清单中的 元素指向该单色应用图标。
然后需要用户在系统设置中启用带主题的应用图标
这样系统会根据壁纸和主题来确定色调颜色,然后该颜色将应用于单色应用图标。
从 Android 13 开始,将内容添加到剪贴板时,我们可以预览的内容。如下
Android13也加入了对剪贴板敏感内容的脱敏处理,后面会详细说。
Android12引入了Splash Screen API,可以帮助开发者更好的开发启动页面,我之前也专门用一篇文章介绍过,不过有些地方还需要改进。果不然Android13就进行了完善,包括下面两项改动;
在以前任何应用都可以向动态注册的接收器发送不受保护的广播,除非该接收器受签名权限的保护。Android13允许用户指定是否接受外部应用的广播,前提是启用了 兼容性框架(默认是关闭的)
在注册广播的时候设置一个Flag,如下:
注意:如果启用了,在注册广播的时候就必须设置RECEIVER_EXPORTED或RECEIVER_NOT_EXPORTED。
Android13提供了照片选择器,这样无需向应用授予整个媒体库的访问权限。
使用照片选择器需要 1.6.0-alpha05 或更高版本的 androidx.activity 库,主要api:
示例代码如下:
Android13之前针对WIFI的权限是,即使我们不想定位只想查询一下附近的wifi。Android13提供了一个新的运行时权限来专门针对这种情况,这个权限影响的API如下:
使用以上Api需要申请权限。
Android13提供了一个新的闹钟权限,它类似于不过是自动授权的,不需要用户手动授权。
Google对这个权限的要求是必须是闹钟、计时器或提供活动通知的日历应用才可以使用,GooglePlay会对使用这个权限的应用进行审核。不过目前国内还没有限制,后续各大应用市场应该也会跟进限制。
下面来看看适配Android13需要注意哪些事项。这里只列举一些比较常用的功能,全部内容可以参赛https://developer.android.google.cn/about/versions/13/behavior-changes-all
Android 13(API 级别 33)引入了运行时通知权限,如果应用以 Android 13 为目标平台,当需要发送通知的时候就需要动态请求该权限,否则无法发出通知。
注意:媒体相关的通知不受这个权限的影响,依然可以正常进行通知;前台服务的通知则受本权限影响。
可以通过NotificationManager的来检查应用是否可以发送通知。
上面我们提到Android13提供来剪切板预览功能,但是如果的是敏感内容的话,可以在调用 之前向 ClipData 的 添加一个标志,这样预览的时候就看不到敏感内容了
代码如下:
添加标志后的效果如下
上面提到了,针对附近WIFI设备提供了一个新的运行时权限。
如果应用不会使用WIFI相关API进行定位,那么可以将 属性设置为 :
因为只在Android13上,所以我们还要保留以应对Android12及以下设备,不过可以为其设置最高sdk版本,如下:
如果应用以 Android 13 为目标平台,那么如果要访问媒体文件时就不能像之前那样请求权限,Android 13提供了更加细化的权限,必须请求以下权限来代替:
这样可以更加保护用户的隐私。
如果同时请求 权限和 权限,只会显示一个系统权限对话框。
注意:如果您的应用只需要访问图片、照片和视频,请考虑使用 照片选择器,而不是声明 和 权限。
如果应用以 Android 13 为目标平台,并且在后台运行时需要访问身体传感器信息,那么除了现有的 权限外,还需要声明新的 权限。
安宁版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com