| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android 13 适配指南 -> 正文阅读 |
|
[移动开发]Android 13 适配指南 |
Android 13 适配指南
2022 的Google I/O 发布了 Android 13 beta 2 和 Android 13 Beta 1 国内厂商的设备支持列表,虽然按照惯例, Android 13 应该是年末才发布正式版,但是相信有的开发者已经收到了平台的 Android13 的适配要求,所以本篇也是结合 Oppo 的 Android 13 应用兼容性适配指导 和官方提供的一些文档内容做一个整理测试。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0dAHZdk-1653042508618)(http://img.cdn.guoshuyu.cn/20220520_Android13/image1.png)] 目前 Android 13 主要的兼容问题还是在于隐私权限上,所以本次的适配指南相关内容也是着重在这一部分, 这里涉及面比较广的应该就是相册和通知权限。 相册权限这个动图大家可能看到过,这是 Android 13 上提供的系统图片选择器,通过 我们通过调整 TargetSDK 设置为 如下图所示:
总结: 所以如果是 TargetSDK 在 Android 13 以下,不需要处理,如果在 Android 13 以及以上 ,需要增加申请权限。
通知在 Android R 上设置里开始支持在设置里对应用的通知权限进行管理,但是应用自身是无法修改应用级别的通知权限,所以 App 无法知道自身有没有发送通知的权限 所以在 Android 13 里增加了通知的运行时权限,其中 Android 13 (33) 的通知会根据正在运行的应用程序的目标 API 级别进行不同的处理,不过不管应用程序的目标API级别如何,Android 13 都会提示用户授予应用程序发送通知的权限。 例如下图,是 targetSdk 30 运行在 Android 13 模拟器上,依然会弹出让用户是否允许推送。
当然,系统也会根据应用程序的目标 API 级别处理通知访问:
如果是现有应用更新,程序的目标 API 级别为:
最后测试和总结一下:
附近的WIFI设备权限由于 Android 之前可以通过跟踪附近的 Wi-Fi AP 和蓝牙设备来推断设备的位置,所以这次谷歌决定禁止应用程序访问蓝牙或Wi-Fi扫描结果,除非这类应用需要声明 在 Android 13 中,Google 将 Wi-Fi 扫描与位置相关内容分离, Android 13 为管理设备与周围 Wi-Fi 热点连接的应用添加 NEARBY_WIFI_DEVICES 运行时权限 (属于 NEARBY_DEVICES权限组),从而在不需要 ACCESS_FINE_LOCATION 权限的情况下,也可以让应用访问附近的 Wi-Fi 设备。 此前,对于仅需要连接 Wi-Fi 设备,但实际上并不需要了解设备位置的应用来说,以 Android 13 (33)为目标平台的应用现在可以通过 “neverForLocation” 属性来完善申请 NEARBY_WIFI_DEVICES 权限。
这项新权限会影响几个不同的 Wi-Fi 用例,包括以下用例:
所以开发需要区分不同api对应的权限;
由于 NEARBY_WIFI_DEVICES 权限仅适用于 Android 13 或更高版本, 如果是 Android12L(32) 以及以下的 App 应保留对 ACCESS_FINE_LOCATION 的所有声明:
以 Android 13(33) 为目标平台时,如果应用不会通过 Wi-Fi API 推导物理位置,请在清单文件中将 usesPermissionFlags 属性设为 neverForLocation。
所以总结:以 Android 13(33) 为目标平台的应用程序,访问附近的 WI-FI 设备。除特例API需要申请ACCESS_FINE_LOCATION外,其他需要申请 android.permission.NEARBY_WIFI_DEVICES 运行时权限; 在后台使用身体传感器需要新的权限Android 13 中引入了 “在使用时” 访问身体传感器(例如心率、体温和血氧饱和度)的概念,此访问模式与 Android 10(API 级别 29)系统为位置信息引入的模式非常相似。 如果你的 App 以 Android 13(33) 为目标平台,并且在后台运行时需要访问身体传感器信息,那么除了现有的
Intent 过滤器会屏蔽不匹配的 intent当 App 以 Android 13(33) 或更高版本为 Target 的其他应用的导出组件发送 intent 时,仅当该 intent 与接收应用中的
更安全地导出上下文注册的接收器为了帮助提高运行时接收器的安全性,Android 13 允许你指定 App 中的特定广播接收器是否应被导出以及是否对设备上的其他应用可见,此变更是 Android 12 更安全的组件 的延续; 以 Android 13(33) 或更高版本为目标平台的应用,必须为每个广播接收器指定
应用自撤销权限在 Android 13中,谷歌添加了一个新的API,允许开发者降级权限。 应用程序可以触发撤销授予调用 API 的包的一个或多个运行时权限,不需要访问特定运行时权限控制 API 的应用程序可以自行撤销这些权限,这样用户就可以确保这些应用程序不会在不知情的情况下使用这些API。 如需撤消特定运行时权限,请将该权限的名称传入 revokeOwnPermissionOnKill() 方法,如需同时撤消一组运行时权限,请将这组权限的名称传入 revokeOwnPermissionsOnKill()。
系统只有在安全的情况下才会触发撤消操作,也就是当有应用组件仍在前台运行,或者有另一个应用正在访问你应用的组件(如 content provider)时不会发生撤消。
剪贴板擦除Android 之前一直提供了一个剪贴板服务,所有 App 都可以使用它来放置和检索文本。 尽管从技术上讲,任何应用都可以清除全局剪贴板中的主内容(只要它们是前台应用或 Android 10+ 上的默认输入法),但 Android 本身不会自动清除剪贴板。 这意味着任何留在全局剪贴板中的剪贴板内容,都可以在以后被应用程序读取,尽管 Android 的剪贴板访问有 toast 消息可能会提醒用户。 Android 13 增加了剪贴板自动清除功能,此功能在默认情况下处于禁用状态,在经过设定的时间后,将自动从全局剪贴板中清除主剪辑, 默认情况下经过3600000毫秒(60分钟)后,剪贴板将被清除。 每次执行复制/读取(写入剪贴板 前台服务 (FGS) 任务管理器Android 13 的新前台服务( Foreground Services:FGS)任务管理器显示当前运行前台服务的应用程序列表,此列表称为活动应用程序,可以通过下拉通知抽屉并点击启示来访问,这时候每个应用程序旁边都会有一个“停止”按钮。
使用 JobScheduler 改进预提取处理利用 JobScheduler,应用可使用 JobInfo.Builder.setPrefetch() 将特定作业标记为“预提取”,这意味着理想情况下这些作业应该在应用下一次启动前提前一点运行,以提升用户体验。 过去,JobScheduler 仅使用该信号让预提取作业有机会使用免费或多余的数据,在 Android 13 中系统现在会尝试确定应用下次启动的时间,并根据该估算值运行预提取作业,应用应尝试使用“预提取”来完成他们想要在下次应用启动前完成的任何工作。 电池资源利用率Android 13 中引入了 电池资源利用率 功能,以便为系统提供多种方法来更好地管理设备电池续航时间:
总结TargetSDK 33 才会需要处理的变动:
影响所有应用的变动:
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 0:28:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |