1# @ohos.abilityAccessCtrl (程序访问控制管理)
2
3程序访问控制提供程序的权限管理能力,包括鉴权、授权等。
4
5> **说明:**
6> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8## 导入模块
9
10```ts
11import { abilityAccessCtrl } from '@kit.AbilityKit'
12```
13
14## abilityAccessCtrl.createAtManager
15
16createAtManager(): AtManager
17
18访问控制管理:获取访问控制模块对象。
19
20**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
21
22**系统能力:** SystemCapability.Security.AccessToken
23
24
25**返回值:**
26
27| 类型 | 说明 |
28| -------- | -------- |
29| [AtManager](#atmanager) | 获取访问控制模块的实例。 |
30
31**示例:**
32
33```ts
34let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
35```
36
37## AtManager
38
39管理访问控制模块的实例。
40
41### checkAccessToken<sup>9+</sup>
42
43checkAccessToken(tokenID: number, permissionName: Permissions): Promise&lt;GrantStatus&gt;
44
45校验应用是否授予权限。使用Promise异步回调。
46
47**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
48
49**系统能力:** SystemCapability.Security.AccessToken
50
51**参数:**
52
53| 参数名   | 类型                 | 必填 | 说明                                       |
54| -------- | -------------------  | ---- | ------------------------------------------ |
55| tokenID   |  number   | 是   | 要校验的目标应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)的accessTokenId字段获得。|
56| permissionName | Permissions | 是   | 需要校验的权限名称,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 |
57
58**返回值:**
59
60| 类型          | 说明                                |
61| :------------ | :---------------------------------- |
62| Promise&lt;[GrantStatus](#grantstatus)&gt; | Promise对象。返回授权状态结果。 |
63
64**错误码:**
65
66以下错误码的详细介绍请参见[访问控制错误码](errorcode-access-token.md)。
67
68| 错误码ID | 错误信息 |
69| -------- | -------- |
70| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
71| 12100001 | Invalid parameter. The tokenID is 0, or the permissionName exceeds 256 characters. |
72
73**示例:**
74
75```ts
76import { abilityAccessCtrl } from '@kit.AbilityKit';
77import { BusinessError } from '@kit.BasicServicesKit';
78
79let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
80let tokenID: number = 0; // 系统应用可以通过bundleManager.getApplicationInfo获取,三方应用可以通过bundleManager.getBundleInfoForSelf获取
81atManager.checkAccessToken(tokenID, 'ohos.permission.GRANT_SENSITIVE_PERMISSIONS').then((data: abilityAccessCtrl.GrantStatus) => {
82  console.log(`checkAccessToken success, data->${JSON.stringify(data)}`);
83}).catch((err: BusinessError) => {
84  console.error(`checkAccessToken fail, err->${JSON.stringify(err)}`);
85});
86```
87
88### checkAccessTokenSync<sup>10+</sup>
89
90checkAccessTokenSync(tokenID: number, permissionName: Permissions): GrantStatus
91
92校验应用是否被授予权限,同步返回结果。
93
94**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
95
96**系统能力:** SystemCapability.Security.AccessToken
97
98**参数:**
99
100| 参数名   | 类型                 | 必填 | 说明                                       |
101| -------- | -------------------  | ---- | ------------------------------------------ |
102| tokenID   |  number   | 是   | 要校验应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)的accessTokenId字段获得。|
103| permissionName | Permissions | 是   | 需要校验的权限名称,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 |
104
105**返回值:**
106
107| 类型          | 说明                                |
108| :------------ | :---------------------------------- |
109| [GrantStatus](#grantstatus) | 枚举实例,返回授权状态。 |
110
111**错误码:**
112
113以下错误码的详细介绍请参见[访问控制错误码](errorcode-access-token.md)。
114
115| 错误码ID | 错误信息 |
116| -------- | -------- |
117| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
118| 12100001 | Invalid parameter. The tokenID is 0, or the permissionName exceeds 256 characters. |
119
120**示例:**
121
122```ts
123import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit';
124
125let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
126let tokenID: number = 0; // 系统应用可以通过bundleManager.getApplicationInfo获取,三方应用可以通过bundleManager.getBundleInfoForSelf获取
127let permissionName: Permissions = 'ohos.permission.GRANT_SENSITIVE_PERMISSIONS';
128let data: abilityAccessCtrl.GrantStatus = atManager.checkAccessTokenSync(tokenID, permissionName);
129console.log(`data->${JSON.stringify(data)}`);
130```
131
132### requestPermissionsFromUser<sup>9+</sup>
133
134requestPermissionsFromUser(context: Context, permissionList: Array&lt;Permissions&gt;, requestCallback: AsyncCallback&lt;PermissionRequestResult&gt;): void
135
136用于<!--RP1-->UIAbility<!--RP1End-->拉起弹框请求用户授权。使用callback异步回调。
137
138如果用户拒绝授权,将无法再次拉起弹框,需要用户在系统应用“设置”的界面中,手动授予权限。或是调用[requestPermissionOnSetting](#requestpermissiononsetting12),拉起权限设置弹框,引导用户授权。
139
140> **说明:**
141>
142> 仅支持<!--RP1-->UIAbility<!--RP1End-->。
143
144**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
145
146**模型约束**:此接口仅可在Stage模型下使用。
147
148**系统能力**: SystemCapability.Security.AccessToken
149
150**参数:**
151
152| 参数名 | 类型 | 必填 | 说明 |
153| -------- | -------- | -------- | -------- |
154| context | [Context](js-apis-inner-application-context.md) | 是 | 请求权限的<!--RP1-->UIAbility<!--RP1End-->的Context。 |
155| permissionList | Array&lt;Permissions&gt; | 是 | 权限名列表,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 |
156| requestCallback | AsyncCallback&lt;[PermissionRequestResult](js-apis-permissionrequestresult.md)&gt; | 是 | 回调函数,返回接口调用是否成功的结果。 |
157
158**错误码:**
159
160以下错误码的详细介绍请参见[访问控制错误码](errorcode-access-token.md)。
161
162| 错误码ID | 错误信息 |
163| -------- | -------- |
164| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
165| 12100001 | Invalid parameter. The context is invalid when it does not belong to the application itself. |
166
167**示例:**
168
169下述示例中context的获取方式请参见[获取UIAbility的上下文信息](../../application-models/uiability-usage.md#获取uiability的上下文信息)。
170关于向用户申请授权的完整流程及示例,请参见[向用户申请授权](../../security/AccessToken/request-user-authorization.md)。
171
172```ts
173import { abilityAccessCtrl, Context, PermissionRequestResult, common } from '@kit.AbilityKit';
174import { BusinessError } from '@kit.BasicServicesKit';
175
176let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
177let context: Context = getContext(this) as common.UIAbilityContext;
178atManager.requestPermissionsFromUser(context, ['ohos.permission.CAMERA'], (err: BusinessError, data: PermissionRequestResult) => {
179  if (err) {
180    console.error(`requestPermissionsFromUser fail, err->${JSON.stringify(err)}`);
181  } else {
182    console.info('data:' + JSON.stringify(data));
183    console.info('data permissions:' + data.permissions);
184    console.info('data authResults:' + data.authResults);
185    console.info('data dialogShownResults:' + data.dialogShownResults);
186  }
187});
188```
189
190### requestPermissionsFromUser<sup>9+</sup>
191
192requestPermissionsFromUser(context: Context, permissionList: Array&lt;Permissions&gt;): Promise&lt;PermissionRequestResult&gt;
193
194用于<!--RP1-->UIAbility<!--RP1End-->拉起弹框请求用户授权。使用promise异步回调。
195
196如果用户拒绝授权,将无法再次拉起弹框,需要用户在系统应用“设置”的界面中,手动授予权限。或是调用[requestPermissionOnSetting](#requestpermissiononsetting12),拉起权限设置弹框,引导用户授权。
197
198> **说明:**
199>
200> 仅支持<!--RP1-->UIAbility<!--RP1End-->。
201
202**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
203
204**模型约束**:此接口仅可在Stage模型下使用。
205
206**系统能力**: SystemCapability.Security.AccessToken
207
208**参数:**
209
210| 参数名 | 类型 | 必填 | 说明 |
211| -------- | -------- | -------- | -------- |
212| context | [Context](js-apis-inner-application-context.md) | 是 | 请求权限的<!--RP1-->UIAbility<!--RP1End-->的Context。 |
213| permissionList | Array&lt;Permissions&gt; | 是 | 需要校验的权限名称,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 |
214
215**返回值:**
216
217| 类型 | 说明 |
218| -------- | -------- |
219| Promise&lt;[PermissionRequestResult](js-apis-permissionrequestresult.md)&gt; | 返回一个Promise,包含接口的结果。 |
220
221**错误码:**
222
223以下错误码的详细介绍请参见[访问控制错误码](errorcode-access-token.md)。
224
225| 错误码ID | 错误信息 |
226| -------- | -------- |
227| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
228| 12100001 | Invalid parameter. The context is invalid when it does not belong to the application itself. |
229
230**示例:**
231
232下述示例中context的获取方式请参见[获取UIAbility的上下文信息](../../application-models/uiability-usage.md#获取uiability的上下文信息)。
233关于向用户申请授权的完整流程及示例,请参见[向用户申请授权](../../security/AccessToken/request-user-authorization.md)。
234
235```ts
236import { abilityAccessCtrl, Context, PermissionRequestResult, common } from '@kit.AbilityKit';
237import { BusinessError } from '@kit.BasicServicesKit';
238
239let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
240let context: Context = getContext(this) as common.UIAbilityContext;
241atManager.requestPermissionsFromUser(context, ['ohos.permission.CAMERA']).then((data: PermissionRequestResult) => {
242  console.info('data:' + JSON.stringify(data));
243  console.info('data permissions:' + data.permissions);
244  console.info('data authResults:' + data.authResults);
245  console.info('data dialogShownResults:' + data.dialogShownResults);
246}).catch((err: BusinessError) => {
247  console.error('data:' + JSON.stringify(err));
248});
249```
250
251### requestPermissionOnSetting<sup>12+</sup>
252
253requestPermissionOnSetting(context: Context, permissionList: Array&lt;Permissions&gt;): Promise&lt;Array&lt;GrantStatus&gt;&gt;
254
255用于UIAbility/UIExtensionAbility二次拉起权限设置弹框。
256
257在调用此接口前,应用需要先调用[requestPermissionsFromUser](#requestpermissionsfromuser9),如果用户在首次弹窗授权时已授权,调用当前接口将无法拉起弹窗。
258
259> **说明:**
260>
261> 仅支持UIAbility/UIExtensionAbility262
263**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
264
265**模型约束**:此接口仅可在Stage模型下使用。
266
267**系统能力**: SystemCapability.Security.AccessToken
268
269**参数:**
270
271| 参数名 | 类型 | 必填 | 说明 |
272| -------- | -------- | -------- | -------- |
273| context | [Context](js-apis-inner-application-context.md) | 是 | 请求权限的UIAbility/UIExtensionAbility的Context。 |
274| permissionList | Array&lt;Permissions&gt; | 是 | 权限名列表,合法的权限名取值可在[应用权限组列表](../../security/AccessToken/app-permission-group-list.md)中查询。 |
275
276**返回值:**
277
278| 类型          | 说明                                |
279| :------------ | :---------------------------------- |
280| Promise&lt;Array&lt;[GrantStatus](#grantstatus)&gt;&gt; | Promise对象。返回授权状态结果。 |
281
282**错误码:**
283
284以下错误码的详细介绍请参见[访问控制错误码](errorcode-access-token.md)。
285
286| 错误码ID | 错误信息 |
287| -------- | -------- |
288| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
289| 12100001 | Invalid parameter. Possible causes: 1. The context is invalid because it does not belong to the application itself; 2. The permission list contains the permission that is not declared in the module.json file; 3. The permission list is invalid because the permissions in it do not belong to the same permission group. |
290| 12100010 | The request already exists. |
291| 12100011 | All permissions in the permission list have been granted. |
292| 12100012 | The permission list contains the permission that has not been revoked by the user. |
293
294**示例:**
295示例中context的获取方式请参见[获取UIAbility的上下文信息](../../application-models/uiability-usage.md#获取uiability的上下文信息)。
296
297```ts
298import { abilityAccessCtrl, Context, common } from '@kit.AbilityKit';
299import { BusinessError } from '@kit.BasicServicesKit';
300
301let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
302let context: Context = getContext(this) as common.UIAbilityContext;
303atManager.requestPermissionOnSetting(context, ['ohos.permission.CAMERA']).then((data: Array<abilityAccessCtrl.GrantStatus>) => {
304  console.info('data:' + JSON.stringify(data));
305}).catch((err: BusinessError) => {
306  console.error('data:' + JSON.stringify(err));
307});
308```
309
310### requestGlobalSwitch<sup>12+</sup>
311
312requestGlobalSwitch(context: Context, type: SwitchType): Promise&lt;boolean&gt;
313
314用于UIAbility/UIExtensionAbility拉起全局开关设置弹框。
315
316部分情况下,录音、拍照等功能禁用,应用可拉起此弹框请求用户同意开启对应功能。如果当前全局开关的状态为开启,则不拉起弹框。
317
318> **说明:**
319>
320> 仅支持UIAbility/UIExtensionAbility321
322**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
323
324**模型约束**:此接口仅可在Stage模型下使用。
325
326**系统能力**: SystemCapability.Security.AccessToken
327
328**参数:**
329
330| 参数名 | 类型 | 必填 | 说明 |
331| -------- | -------- | -------- | -------- |
332| context | [Context](js-apis-inner-application-context.md) | 是 | 请求权限的UIAbility/UIExtensionAbility>的Context。 |
333| type | [SwitchType](#switchtype12) | 是 | 全局开关类型。 |
334
335**返回值:**
336
337| 类型          | 说明                                |
338| :------------ | :---------------------------------- |
339| Promise&lt;boolean&gt; | Promise对象。返回全局开关状态。 |
340
341**错误码:**
342
343以下错误码的详细介绍请参见[访问控制错误码](errorcode-access-token.md)。
344
345| 错误码ID | 错误信息 |
346| -------- | -------- |
347| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
348| 12100001 | Invalid parameter. Possible causes: 1. The context is invalid because it does not belong to the application itself; 2. The type of global switch is not support. |
349| 12100010 | The request already exists. |
350| 12100013 | The specific global switch is already open. |
351
352**示例:**
353示例中context的获取方式请参见[获取UIAbility的上下文信息](../../application-models/uiability-usage.md#获取uiability的上下文信息)。
354
355```ts
356import { abilityAccessCtrl, Context, common } from '@kit.AbilityKit';
357import { BusinessError } from '@kit.BasicServicesKit';
358
359let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
360let context: Context = getContext(this) as common.UIAbilityContext;
361atManager.requestGlobalSwitch(context, abilityAccessCtrl.SwitchType.CAMERA).then((data: Boolean) => {
362  console.info('data:' + JSON.stringify(data));
363}).catch((err: BusinessError) => {
364  console.error('data:' + JSON.stringify(err));
365});
366```
367
368### verifyAccessTokenSync<sup>9+</sup>
369
370verifyAccessTokenSync(tokenID: number, permissionName: Permissions): GrantStatus
371
372校验应用是否被授予权限,同步返回结果。
373
374**系统能力:** SystemCapability.Security.AccessToken
375
376**参数:**
377
378| 参数名   | 类型                 | 必填 | 说明                                       |
379| -------- | -------------------  | ---- | ------------------------------------------ |
380| tokenID   |  number   | 是   | 要校验应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)的accessTokenId字段获得。|
381| permissionName | Permissions | 是   | 需要校验的权限名称,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 |
382
383**返回值:**
384
385| 类型          | 说明                                |
386| :------------ | :---------------------------------- |
387| [GrantStatus](#grantstatus) | 枚举实例,返回授权状态。 |
388
389**错误码:**
390
391以下错误码的详细介绍请参见[访问控制错误码](errorcode-access-token.md)。
392
393| 错误码ID | 错误信息 |
394| -------- | -------- |
395| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
396| 12100001 | Invalid parameter. The tokenID is 0, or the permissionName exceeds 256 characters. |
397
398**示例:**
399
400```ts
401import { abilityAccessCtrl } from '@kit.AbilityKit';
402
403let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
404let tokenID: number = 0; // 系统应用可以通过bundleManager.getApplicationInfo获取,三方应用可以通过bundleManager.getBundleInfoForSelf获取
405try {
406  let data: abilityAccessCtrl.GrantStatus = atManager.verifyAccessTokenSync(tokenID, 'ohos.permission.GRANT_SENSITIVE_PERMISSIONS');
407  console.log(`data->${JSON.stringify(data)}`);
408} catch(err) {
409  console.error(`catch err->${JSON.stringify(err)}`);
410}
411```
412
413### verifyAccessToken<sup>9+</sup>
414
415verifyAccessToken(tokenID: number, permissionName: Permissions): Promise&lt;GrantStatus&gt;
416
417校验应用是否授予权限。使用Promise异步回调。
418
419> **说明:**
420>
421> 建议使用[checkAccessToken](#checkaccesstoken9)替代。
422
423**系统能力:** SystemCapability.Security.AccessToken
424
425**参数:**
426
427| 参数名   | 类型                 | 必填 | 说明                                       |
428| -------- | -------------------  | ---- | ------------------------------------------ |
429| tokenID   |  number   | 是   | 要校验的目标应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)的accessTokenId字段获得。|
430| permissionName | Permissions | 是   | 需要校验的权限名称,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 |
431
432**返回值:**
433
434| 类型          | 说明                                |
435| :------------ | :---------------------------------- |
436| Promise&lt;[GrantStatus](#grantstatus)&gt; | Promise对象。返回授权状态结果。 |
437
438**示例:**
439
440```ts
441import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit';
442import { BusinessError } from '@kit.BasicServicesKit';
443
444let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
445let tokenID: number = 0; // 系统应用可以通过bundleManager.getApplicationInfo获取,三方应用可以通过bundleManager.getBundleInfoForSelf获取
446let permissionName: Permissions = 'ohos.permission.GRANT_SENSITIVE_PERMISSIONS';
447atManager.verifyAccessToken(tokenID, permissionName).then((data: abilityAccessCtrl.GrantStatus) => {
448  console.log(`promise: data->${JSON.stringify(data)}`);
449}).catch((err: BusinessError) => {
450  console.error(`verifyAccessToken fail, err->${JSON.stringify(err)}`);
451});
452```
453
454### verifyAccessToken<sup>(deprecated)</sup>
455
456verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStatus&gt;
457
458校验应用是否授予权限。使用Promise异步回调。
459
460> **说明:**
461>
462> 从API version 9开始不再维护,建议使用[checkAccessToken](#checkaccesstoken9)替代。
463
464**系统能力:** SystemCapability.Security.AccessToken
465
466**参数:**
467
468| 参数名   | 类型                 | 必填 | 说明                                       |
469| -------- | -------------------  | ---- | ------------------------------------------ |
470| tokenID   |  number   | 是   | 要校验的目标应用的身份标识。可通过应用的[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)的accessTokenId字段获得。|
471| permissionName | string | 是   | 需要校验的权限名称,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 |
472
473**返回值:**
474
475| 类型          | 说明                                |
476| :------------ | :---------------------------------- |
477| Promise&lt;[GrantStatus](#grantstatus)&gt; | Promise对象。返回授权状态结果。 |
478
479**示例:**
480
481```ts
482import { abilityAccessCtrl } from '@kit.AbilityKit';
483import { BusinessError } from '@kit.BasicServicesKit';
484
485let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
486let tokenID: number = 0; // 系统应用可以通过bundleManager.getApplicationInfo获取,三方应用可以通过bundleManager.getBundleInfoForSelf获取
487atManager.verifyAccessToken(tokenID, 'ohos.permission.GRANT_SENSITIVE_PERMISSIONS').then((data: abilityAccessCtrl.GrantStatus) => {
488  console.log(`promise: data->${JSON.stringify(data)}`);
489}).catch((err: BusinessError) => {
490  console.error(`verifyAccessToken fail, err->${JSON.stringify(err)}`);
491});
492```
493
494## GrantStatus
495
496表示授权状态的枚举。
497
498**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
499
500**系统能力:** SystemCapability.Security.AccessToken
501
502| 名称               |    值 | 说明        |
503| ------------------ | ----- | ----------- |
504| PERMISSION_DENIED  | -1    | 表示未授权。 |
505| PERMISSION_GRANTED | 0     | 表示已授权。 |
506
507## SwitchType<sup>12+</sup>
508
509表示全局开关类型。
510
511**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
512
513**系统能力:** SystemCapability.Security.AccessToken
514
515| 名称               |    值 | 说明        |
516| ------------------ | ----- | ----------- |
517| CAMERA  | 0    | 表示相机全局开关。 |
518| MICROPHONE | 1     | 表示麦克风全局开关。 |
519| LOCATION | 2     | 表示位置全局开关。 |
520
521## PermissionRequestResult<sup>10+</sup>
522
523type PermissionRequestResult = _PermissionRequestResult
524
525权限请求结果对象。
526
527**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
528
529**模型约束**:此接口仅可在Stage模型下使用。
530
531**系统能力:** SystemCapability.Security.AccessToken
532
533| 类型 | 说明 |
534| -------- | -------- |
535| [PermissionRequestResult](js-apis-permissionrequestresult.md) | 权限请求结果对象。 |
536
537## Context<sup>10+</sup>
538
539type Context = _Context
540
541提供了ability或application的上下文的能力,包括访问特定应用程序的资源等。
542
543**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
544
545**模型约束**:此接口仅可在Stage模型下使用。
546
547**系统能力:** SystemCapability.Security.AccessToken
548
549| 类型 | 说明 |
550| -------- | -------- |
551| [Context](js-apis-inner-application-context.md) | 提供了ability或application的上下文的能力,包括访问特定应用程序的资源等。 |