Android 平台应用启动时读写手机存储、访问设备信息(如 IMEI)等权限策略及提示信息
Android 平台从 6.0(API23)开始系统对权限的管理更加严格,所有涉及敏感权限都需要用户授权允许才能获取。
因此一些应用基础业务逻辑需要的权限会在应用启动时申请,并引导用户允许。
应用需要保存运行状态等数据到手机 SD 卡中,启动时需要获取读写手机存储权限,此权限为基础权限,影响真机运行、wgt 升级。
注意:此权限目标不是要访问相册,是 Android 把相册写入权限和存储写入权限合并在一个权限里了。
注意:wgt 热更新是应用市场不乐见的,不建议明显提示给用户或告知应用市场
访问设备信息权限
Android 平台应用获取设备信息(如 IMEI、IMSI 等),统计、推送、广告等业务功能依赖这些信息。
此权限不是必选,拒绝此权限不影响 App 端基座运行。但拥有本权限可以给开发者提供更准确的统计报表。
而申请获取这些信息需要用户授权,会弹出如下提示框:
源码视图配置
打开 manifest.json 文件,切换到“源码视图”项
uni-app 项目
在”app-plus” -> “distribute” -> “android” 节点下添加 permissionExternalStorage 节点
5+ App 项目
在 “plus” -> “distribute” -> “google” 节点下添加 permissionExternalStorage 节点
电话权限配置
"permissionPhoneState": {
"request": "none",
"prompt": "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"
}
request
权限说明
// 应用启动时不申请
"request": "none",
// 应用第一次启动时申请,用户可以拒绝
"request": "once",
// 应用每次启动都申请,并且用户必须允许,用户拒绝时会弹出以下提示框引导用户重新允许
"request": "always",
读写手机存储权限
"permissionExternalStorage": {
"request": "none",
"prompt": "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
}
设置完毕后 应用启动时就不会出现获取权限的弹窗了
在上架某些应用商量时可以通过检测(此配置不一定通过,但能大幅度提高审核标准)
uniapp 官方说明 https://ask.dcloud.net.cn/article/36549