权限添加和说明
- 权限涉及安卓版本,有的权限安卓没有
- 最好在
AndroidManifest.xml
注释清楚
在UTS插件中处理权限
在UTS插件开发中,需要注意以下几点:
- 在
AndroidManifest.xml
中声明所有需要的权限 - 对于危险权限,需要在代码中实现运行时权限请求
- 针对不同Android版本,可能需要编写兼容代码
- 尽量只请求应用功能必需的权限
创建权限文件
uni_modules/turobo-test-api/utssdk/app-android/AndroidManifest.xml
- 必须在
app-android
的根目录
- 必须在
xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
package="uts.sdk.modules.turboTestApi">
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
安卓权限版本之间的区别
Android 系统的权限机制随着版本的更新有显著变化,开发者需要了解这些差异以正确处理权限:
Android 6.0 (API 23) 之前
- 所有权限在安装时一次性授予
- 用户只能选择接受全部权限或不安装应用
- 安装后无法单独撤销某个权限
Android 6.0 (API 23) 及以上
- 引入运行时权限请求机制
- 权限分为普通权限和危险权限两类
- 普通权限:安装时自动授予,无需用户确认
- 危险权限:需要在运行时动态请求,用户可以单独允许或拒绝
- 用户可以在设置中随时撤销已授予的权限
Android 10 (API 29) 的变化
- 引入了位置权限的细分:前台位置权限和后台位置权限
- 增加了对外部存储的限制,引入了分区存储概念
- 新增了对设备唯一标识符的访问限制
Android 11 (API 30) 的变化
- 一次性权限:允许应用仅在本次使用时获取权限
- 权限自动重置:长时间不使用的应用权限会被自动撤销
- 进一步限制了后台位置访问
- 精细化的文件访问权限,替代了之前的存储权限
Android 12 (API 31) 及以上
- 引入了附近设备权限
- 新增了大致位置权限选项
- 增强了剪贴板访问的权限控制
- 相机和麦克风使用指示器和快速设置开关