• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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> | 是 | 否 | 用户传入的权限。|
17| authResults | Array&lt;number&gt; | 是 | 否 | 相应请求权限的结果:<br>- -1:未授权,表示权限已设置,无需弹窗,需要用户在"设置"中修改。<br>- 0:已授权。<br>- 2:未授权,表示请求无效,可能原因有:<br>  -未在设置文件中声明目标权限。<br>  -权限名非法。<br>  -部分权限存在特殊申请条件,在申请对应权限时未满足其指定的条件,见[ohos.permission.LOCATION](../../security/permission-list.md#ohospermissionlocation)与[ohos.permission.APPROXIMATELY_LOCATION](../../security/permission-list.md#ohospermissionapproximately_location) |
18
19## 使用说明
20
21通过atManager实例来获取。
22
23**示例:**
24```ts
25import abilityAccessCtrl from '@ohos.abilityAccessCtrl';
26let atManager = abilityAccessCtrl.createAtManager();
27try {
28  atManager.requestPermissionsFromUser(this.context, ["ohos.permission.CAMERA"]).then((data) => {
29      console.info("data:" + JSON.stringify(data));
30      console.info("data permissions:" + data.permissions);
31      console.info("data authResults:" + data.authResults);
32  }).catch((err) => {
33      console.info("data:" + JSON.stringify(err));
34  })
35} catch(err) {
36  console.log(`catch err->${JSON.stringify(err)}`);
37}
38```