HarmonyOS 获取拒绝的权限

用户获取相册权限时,点击拒绝后,用户再次点击怎么获取当前权限的状态

现在就是用以下方法实现,但是用户拒绝后,再次点击上传没有反应

private async openGallery() {
  let context = getContext(this) as common.UIAbilityContext;
  let atManager = abilityAccessCtrl.createAtManager();
  let info = await bundleManager.getBundleInfoForSelf(0);
  LogUtil.error(this.TAG,'用户权限信息: ',JSON.stringify(info))
  if (info && info.appInfo) {
    let result = atManager.verifyAccessTokenSync(info.appInfo.accessTokenId, "ohos.permission.READ_MEDIA");
    if (abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED == result) {
      console.log("has permission")
    }
  } else {
    atManager.requestPermissionsFromUser(context, ["ohos.permission.READ_MEDIA"], (error, result) => {
      if (result) {
        console.log("result: " + JSON.stringify(result));
        if (result.authResults[0] == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) {
          // 用户授予权限
          // 打开相册
          this.openGalleryInternal();
        } else {
          // 用户拒绝权限
          LogUtil.error(this.TAG, '用户拒绝授权')
        }
      } else {
        LogUtil.error(this.TAG, '请求异常-',JSON.stringify(error))
      }
    });
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
HarmonyOS
2024-12-23 13:49:03
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
shlp

约束与限制

每次执行需要目标权限的操作时,应用都必须检查自己是否已经具有该权限。

如需检查用户是否已向您的应用授予特定权限,可以使用checkAccessToken()函数,此方法会返回PERMISSION_GRANTED或PERMISSION_DENIED。具体示例可参考下文。

每次访问受目标权限保护的接口之前,都需要使用requestPermissionsFromUser()接口请求相应的权限。

用户可能在动态授予权限后通过系统设置来取消应用的权限,因此不能将之前授予的授权状态持久化。

user_grant权限授权要基于用户可知可控的原则,需要应用在运行时主动调用系统动态申请权限的接口,系统弹框由用户授权,用户结合应用运行场景的上下文,识别出应用申请相应敏感权限的合理性,从而做出正确的选择。

系统不鼓励频繁弹窗打扰用户,如果用户拒绝授权,二次申请授权已经提供了接口,可以跳转到设置页面引导用户授权,

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/request-user-authorization-second-V5

相关参考指南链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/request-user-authorization-V5

分享
微博
QQ
微信
回复
2024-12-23 15:02:05
相关问题
HarmonyOS webview权限授权被拒绝
925浏览 • 1回复 待解决
HarmonyOS 权限申请拒绝问题
985浏览 • 1回复 待解决
读取本地json 文件提示权限拒绝
4118浏览 • 1回复 待解决
HarmonyOS 申请应用跟踪权限被直接拒绝
1115浏览 • 1回复 待解决
HarmonyOS 权限获取界面
670浏览 • 1回复 待解决
对于获取权限api问题
2451浏览 • 1回复 待解决
应用获取不同权限demo
1556浏览 • 1回复 待解决
Data Guard Kit权限获取
2542浏览 • 1回复 待解决