uniapp 华为新政策要求申请敏感权限时同步说明使用目的,官方能否优化权限申请流程?

华为新政策要求应用在申请敏感权限时必须同步说明使用目的,但目前uniapp的权限申请流程并未适配这一要求。官方是否有计划优化权限申请模块,支持在申请权限时自动弹出说明弹窗或内置声明文本功能?这样开发者就不需要额外处理,能直接符合华为的审核要求。

2 回复

官方应该优化流程,适配华为新政策,自动生成权限说明,减少开发者手动配置。


UniApp 官方已针对华为等安卓平台对敏感权限的强制要求进行了适配优化。以下是关键点:

  1. 权限声明配置
    manifest.json 中需声明权限及用途说明(华为要求权限与目的对应):

    {
      "app-plus": {
        "distribute": {
          "android": {
            "permissions": [
              {
                "name": "android.permission.CAMERA",
                "reason": "用于扫描二维码和拍照上传功能"
              },
              {
                "name": "android.permission.READ_PHONE_STATE",
                "reason": "用于识别设备ID以保证账号安全"
              }
            ]
          }
        }
      }
    }
    
  2. 动态申请优化
    使用 uni.authorizeuni.requestAuthorization 时,系统会自动弹窗显示预设的用途说明。建议在触发敏感功能前再申请权限,例如:

    uni.authorize({
      scope: 'scope.camera',
      success: () => {
        // 权限通过后执行操作
      },
      fail: () => {
        uni.showToast({ title: '需要相机权限才能使用扫码功能', icon: 'none' });
      }
    });
    
  3. 华为审核注意事项

    • 权限用途描述需具体明确,避免模糊表述(如“用于功能优化”)。
    • 若使用第三方 SDK,需同步声明其所需权限及用途。
  4. 官方持续适配
    UniApp 团队会跟随华为政策更新权限模块,建议:

    • 保持 HBuilderX 为最新版本
    • 关注官方插件市场中的权限管理插件

总结:当前流程已通过配置文件和 API 实现合规,开发者只需规范填写权限用途即可满足要求。若遇特殊场景,可通过自定义原生插件进一步优化提示交互。

回到顶部