讨论广场 问答详情
动态权限申请被系统拒绝
圈圈圆圆圈圈_ 2026-02-04 10:54:22
1756 评论 分享

已经静态声明了权限,动态申请时用户点击"允许",但还是返回失败

let atManager = abilityAccessCtrl.createAtManager()
atManager.requestPermissionsFromUser(this.context, 
  ['ohos.permission.CAMERA'])
  .then((result) => {
    // result.authResults[0] = -1  // 
  })

 

1756 评论 分享
写回答
全部评论(2)
2 楼

您好,这边根据官方指南申请相机开发的权限进行权限申请,是可以进行权限授权的,并未复现您的问题,是否方便提供一个完整工程Demo方便我们复现分析问题。

您也可以参考官方示例代码:基于CameraKit通过AVRecorder录像,示例工程中也有完整的相机权限申请流程。

2026-02-06 16:16:54

大概率是两个原因,第一,你忘了写“理由”:在 config.json 里,光写权限名没用。摄像头这种权限,必须在同一声明里加一句 "reason" 来解释用途,比如“用于拍摄照片”。少了这个系统直接拒绝。第二,用的“上下文”不对:this.context 如果是从页面(Page)里拿的,可能无效。必须用 UIAbility 里的 context。在页面里,通常用 getContext(this) 来获取正确的。

2026-02-06 10:03:29