鸿蒙5.0开发进阶:ArkTS API-PermissionRequestResult

往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)


PermissionRequestResult

权限请求结果对象,在调用requestPermissionsFromUser申请权限时返回此对象表明此次权限申请的结果。

说明

  • 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
  • 本模块接口仅可在Stage模型下使用。

属性

系统能力:以下各项对应的系统能力均为SystemCapability.Security.AccessToken

名称类型只读可选说明
permissionsArray<string>

用户传入的权限。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

authResultsArray<number>

相应请求权限的结果:

- -1:未授权。①dialogShownResults返回为true,表示用户首次申请;②dialogShownResults返回为false,表示权限已设置,无需弹窗,需要用户在"设置"中修改。

- 0:已授权。

- 2:未授权,表示请求无效,可能原因有:

-未在设置文件中声明目标权限。

-权限名非法。

-部分权限存在特殊申请条件,在申请对应权限时未满足其指定的条件,见ohos.permission.LOCATIONohos.permission.APPROXIMATELY_LOCATION

元服务API: 从API version 11开始,该接口支持在元服务中使用。

dialogShownResults12+Array<boolean>

此权限申请是否有弹窗:

- true:有弹窗。

- false:无弹窗。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

使用说明

通过atManager实例来获取。

示例:

示例中context的获取方式。

import abilityAccessCtrl from '@ohos.abilityAccessCtrl';
import { BusinessError } from '@ohos.base';
import common from '@ohos.app.ability.common';

let atManager = abilityAccessCtrl.createAtManager();
try {
  let context: Context = getContext(this) as common.UIAbilityContext;
  atManager.requestPermissionsFromUser(context, ["ohos.permission.CAMERA"]).then((data) => {
      console.info("data:" + JSON.stringify(data));
      console.info("data permissions:" + data.permissions);
      console.info("data authResults:" + data.authResults);
      console.info("data dialogShownResults:" + data.dialogShownResults);
  }).catch((err: BusinessError) => {
      console.error("data:" + JSON.stringify(err));
  })
} catch(err) {
  console.error(`catch err->${JSON.stringify(err)}`);
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值