uniapp 华为新政策要求申请敏感权限时同步说明使用目的,官方能否优化权限申请流程?
华为新政策要求应用在申请敏感权限时必须同步说明使用目的,但目前uniapp的权限申请流程并未适配这一要求。官方是否有计划优化权限申请模块,支持在申请权限时自动弹出说明弹窗或内置声明文本功能?这样开发者就不需要额外处理,能直接符合华为的审核要求。
2 回复
官方应该优化流程,适配华为新政策,自动生成权限说明,减少开发者手动配置。
UniApp 官方已针对华为等安卓平台对敏感权限的强制要求进行了适配优化。以下是关键点:
-
权限声明配置
在manifest.json中需声明权限及用途说明(华为要求权限与目的对应):{ "app-plus": { "distribute": { "android": { "permissions": [ { "name": "android.permission.CAMERA", "reason": "用于扫描二维码和拍照上传功能" }, { "name": "android.permission.READ_PHONE_STATE", "reason": "用于识别设备ID以保证账号安全" } ] } } } } -
动态申请优化
使用uni.authorize或uni.requestAuthorization时,系统会自动弹窗显示预设的用途说明。建议在触发敏感功能前再申请权限,例如:uni.authorize({ scope: 'scope.camera', success: () => { // 权限通过后执行操作 }, fail: () => { uni.showToast({ title: '需要相机权限才能使用扫码功能', icon: 'none' }); } }); -
华为审核注意事项
- 权限用途描述需具体明确,避免模糊表述(如“用于功能优化”)。
- 若使用第三方 SDK,需同步声明其所需权限及用途。
-
官方持续适配
UniApp 团队会跟随华为政策更新权限模块,建议:- 保持 HBuilderX 为最新版本
- 关注官方插件市场中的权限管理插件
总结:当前流程已通过配置文件和 API 实现合规,开发者只需规范填写权限用途即可满足要求。若遇特殊场景,可通过自定义原生插件进一步优化提示交互。

