1# PermissionRequestResult 2 3权限请求结果对象,在调用[requestPermissionsFromUser](js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9)申请权限时返回此对象表明此次权限申请的结果。 4 5> **说明:** 6> 7> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> - 本模块接口仅可在Stage模型下使用。 9 10## 属性 11 12**系统能力**:以下各项对应的系统能力均为SystemCapability.Security.AccessToken 13 14| 名称 | 类型 | 只读 | 可选 | 说明 | 15| -------- | -------- | -------- | -------- | -------- | 16| permissions | Array<string> | 是 | 否 | 用户传入的权限。<br>**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 | 17| authResults | Array<number> | 是 | 否 | 相应请求权限的结果:<br>- -1:未授权。①dialogShownResults返回为true,表示用户首次申请;②dialogShownResults返回为false,表示权限已设置,无需弹窗,需要用户在"设置"中修改。<br>- 0:已授权。<br>- 2:未授权,表示请求无效,可能原因有:<br> -未在设置文件中声明目标权限。<br> -权限名非法。<br> -部分权限存在特殊申请条件,在申请对应权限时未满足其指定的条件,见[ohos.permission.LOCATION](../../security/AccessToken/permissions-for-all-user.md#ohospermissionlocation)与[ohos.permission.APPROXIMATELY_LOCATION](../../security/AccessToken/permissions-for-all-user.md#ohospermissionapproximately_location) <br>**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 | 18| dialogShownResults<sup>12+</sup> | Array<boolean> | 是 | 是 | 此权限申请是否有弹窗:<br>- true:有弹窗。<br>- false:无弹窗。<br>**原子化服务API**:从API version 12开始,该接口支持在原子化服务中使用。 | 19 20## 使用说明 21 22通过atManager实例来获取。 23 24**示例:** 25示例中context的获取方式请参见[获取UIAbility的上下文信息](../../application-models/uiability-usage.md#获取uiability的上下文信息)。 26 27```ts 28import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; 29import { BusinessError } from '@ohos.base'; 30import common from '@ohos.app.ability.common'; 31 32let atManager = abilityAccessCtrl.createAtManager(); 33try { 34 let context: Context = getContext(this) as common.UIAbilityContext; 35 atManager.requestPermissionsFromUser(context, ["ohos.permission.CAMERA"]).then((data) => { 36 console.info("data:" + JSON.stringify(data)); 37 console.info("data permissions:" + data.permissions); 38 console.info("data authResults:" + data.authResults); 39 console.info("data dialogShownResults:" + data.dialogShownResults); 40 }).catch((err: BusinessError) => { 41 console.error("data:" + JSON.stringify(err)); 42 }) 43} catch(err) { 44 console.error(`catch err->${JSON.stringify(err)}`); 45} 46```