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<GrantStatus> 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<[GrantStatus](#grantstatus)> | 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<Permissions>, requestCallback: AsyncCallback<PermissionRequestResult>): 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<Permissions> | 是 | 权限名列表,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 | 156| requestCallback | AsyncCallback<[PermissionRequestResult](js-apis-permissionrequestresult.md)> | 是 | 回调函数,返回接口调用是否成功的结果。 | 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<Permissions>): Promise<PermissionRequestResult> 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<Permissions> | 是 | 需要校验的权限名称,合法的权限名取值可在[应用权限列表](../../security/AccessToken/app-permissions.md)中查询。 | 214 215**返回值:** 216 217| 类型 | 说明 | 218| -------- | -------- | 219| Promise<[PermissionRequestResult](js-apis-permissionrequestresult.md)> | 返回一个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<Permissions>): Promise<Array<GrantStatus>> 254 255用于UIAbility/UIExtensionAbility二次拉起权限设置弹框。 256 257在调用此接口前,应用需要先调用[requestPermissionsFromUser](#requestpermissionsfromuser9),如果用户在首次弹窗授权时已授权,调用当前接口将无法拉起弹窗。 258 259> **说明:** 260> 261> 仅支持UIAbility/UIExtensionAbility。 262 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<Permissions> | 是 | 权限名列表,合法的权限名取值可在[应用权限组列表](../../security/AccessToken/app-permission-group-list.md)中查询。 | 275 276**返回值:** 277 278| 类型 | 说明 | 279| :------------ | :---------------------------------- | 280| Promise<Array<[GrantStatus](#grantstatus)>> | 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<boolean> 313 314用于UIAbility/UIExtensionAbility拉起全局开关设置弹框。 315 316部分情况下,录音、拍照等功能禁用,应用可拉起此弹框请求用户同意开启对应功能。如果当前全局开关的状态为开启,则不拉起弹框。 317 318> **说明:** 319> 320> 仅支持UIAbility/UIExtensionAbility。 321 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<boolean> | 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<GrantStatus> 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<[GrantStatus](#grantstatus)> | 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<GrantStatus> 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<[GrantStatus](#grantstatus)> | 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的上下文的能力,包括访问特定应用程序的资源等。 |