1# Context 2 3Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 本模块接口仅可在FA模型下使用。 9 10## 使用说明 11 12Context对象是在featureAbility中创建实例,并通过featureAbility的[getContext](js-apis-ability-featureAbility.md#featureabilitygetcontext)接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下: 13 14```ts 15import featureAbility from '@ohos.ability.featureAbility'; 16let context = featureAbility.getContext(); 17context.getOrCreateLocalDir().then((data) => { 18 console.info('getOrCreateLocalDir data: ' + JSON.stringify(data)); 19}); 20``` 21 22## Context.getOrCreateLocalDir<sup>7+</sup> 23 24getOrCreateLocalDir(callback: AsyncCallback\<string>): void 25 26获取应用程序的本地根目录(callback形式)。 27 28如果是第一次调用,将创建目录。 29 30**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 31 32**参数:** 33 34| 参数名 | 类型 | 必填 | 说明 | 35| -------- | ---------------------- | ---- | ------------- | 36| callback | AsyncCallback\<string> | 是 | 返回应用程序的本地根目录。 | 37 38**示例:** 39 40```ts 41import featureAbility from '@ohos.ability.featureAbility'; 42let context = featureAbility.getContext(); 43context.getOrCreateLocalDir((err, data)=>{ 44 console.info('getOrCreateLocalDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 45}); 46``` 47 48 49 50## Context.getOrCreateLocalDir<sup>7+</sup> 51 52getOrCreateLocalDir(): Promise\<string> 53 54获取应用程序的本地根目录(Promise形式)。 55 56如果是第一次调用,将创建目录。 57 58**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 59 60**返回值:** 61 62| 类型 | 说明 | 63| ---------------- | ----------- | 64| Promise\<string> | 应用程序的本地根目录。 | 65 66**示例:** 67 68```ts 69import featureAbility from '@ohos.ability.featureAbility'; 70let context = featureAbility.getContext(); 71context.getOrCreateLocalDir().then((data) => { 72 console.info('getOrCreateLocalDir data: ' + JSON.stringify(data)); 73}); 74``` 75 76## Context.verifyPermission<sup>7+</sup> 77 78verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\<number>): void 79 80验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)。 81 82**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 83 84**参数:** 85 86| 参数名 | 类型 | 必填 | 说明 | 87| ---------- | --------------------------------------- | ---- | -------------------- | 88| permission | string | 是 | 指定权限的名称。 | 89| options | [PermissionOptions](#permissionoptions7) | 是 | 权限选项。 | 90| callback | AsyncCallback\<number> | 是 | 返回权限验证结果,0有权限,-1无权限。 | 91 92**示例:** 93 94```ts 95import featureAbility from '@ohos.ability.featureAbility'; 96import bundle from '@ohos.bundle'; 97let context = featureAbility.getContext(); 98bundle.getBundleInfo('com.context.test', 1, (err, datainfo) =>{ 99 context.verifyPermission('com.example.permission', {uid:datainfo.uid}, (err, data) =>{ 100 console.info('verifyPermission err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 101 }); 102}); 103``` 104 105 106 107## Context.verifyPermission<sup>7+</sup> 108 109verifyPermission(permission: string, callback: AsyncCallback\<number>): void 110 111验证系统中运行的当前pid和uid是否具有指定的权限(callback形式)。 112 113**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 114 115**参数:** 116 117| 参数名 | 类型 | 必填 | 说明 | 118| ---------- | ---------------------- | ---- | -------------------- | 119| permission | string | 是 | 指定权限的名称。 | 120| callback | AsyncCallback\<number> | 是 | 返回权限验证结果,0有权限,-1无权限。 | 121 122**示例:** 123 124```ts 125import featureAbility from '@ohos.ability.featureAbility'; 126let context = featureAbility.getContext(); 127context.verifyPermission('com.example.permission', (err, data) =>{ 128 console.info('verifyPermission err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 129}); 130``` 131 132## Context.verifyPermission<sup>7+</sup> 133 134verifyPermission(permission: string, options?: PermissionOptions): Promise\<number> 135 136验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式)。 137 138**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 139 140**参数:** 141 142| 参数名 | 类型 | 必填 | 说明 | 143| ---------- | --------------------------------------- | ---- | -------- | 144| permission | string | 是 | 指定权限的名称。 | 145| options | [PermissionOptions](#permissionoptions) | 否 | 权限选项。 | 146 147**返回值:** 148 149| 类型 | 说明 | 150| ---------------- | ---------------------------------- | 151| Promise\<number> | 如果pid和uid具有权限,则使用0进行异步回调;否则使用-1回调。 | 152 153**示例:** 154 155```ts 156import featureAbility from '@ohos.ability.featureAbility'; 157let context = featureAbility.getContext(); 158let Permission = {pid:1}; 159context.verifyPermission('com.context.permission',Permission).then((data) => { 160 console.info('verifyPermission data: ' + JSON.stringify(data)); 161}); 162``` 163 164 165 166## Context.requestPermissionsFromUser<sup>7+</sup> 167 168requestPermissionsFromUser(permissions: Array\<string>, requestCode: number, resultCallback: AsyncCallback<[PermissionRequestResult](#permissionrequestresult)>): void 169 170从系统请求某些权限(callback形式)。 171 172**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 173 174**参数:** 175 176| 参数名 | 类型 | 必填 | 说明 | 177| -------------- | ---------------------------------------- | ---- | ----------------------------------- | 178| permissions | Array\<string> | 是 | 指示要请求的权限列表。此参数不能为null。 | 179| requestCode | number | 是 | 指示要传递给PermissionRequestResult的请求代码。 | 180| resultCallback | AsyncCallback<[PermissionRequestResult](#permissionrequestresult)> | 是 | 返回授权结果信息。 | 181 182**示例:** 183 184```ts 185import featureAbility from '@ohos.ability.featureAbility'; 186let context = featureAbility.getContext(); 187context.requestPermissionsFromUser( 188 ['com.example.permission1', 189 'com.example.permission2', 190 'com.example.permission3', 191 'com.example.permission4', 192 'com.example.permission5'], 193 1, 194 (err, data) => { 195 console.info('requestPermissionsFromUser err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 196 } 197); 198``` 199 200 201## Context.requestPermissionsFromUser<sup>7+</sup> 202 203requestPermissionsFromUser(permissions: Array\<string>, requestCode: number): Promise\<[PermissionRequestResult](#permissionrequestresult7)> 204 205从系统请求某些权限(promise形式)。 206 207**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 208 209**参数:** 210 211| 参数名 | 类型 | 必填 | 说明 | 212| -------------- | ------------------- | ----- | -------------------------------------------- | 213| permissions | Array\<string> | 是 | 指示要请求的权限列表。此参数不能为null。 | 214| requestCode | number | 是 | 指示要传递给PermissionRequestResult的请求代码。 | 215 216**返回值:** 217 218| 类型 | 说明 | 219| ------------------------------------------------------------- | ---------------- | 220| Promise\<[PermissionRequestResult](#permissionrequestresult7)> | 返回授权结果信息。 | 221 222**示例:** 223 224```ts 225import featureAbility from '@ohos.ability.featureAbility'; 226let context = featureAbility.getContext(); 227context.requestPermissionsFromUser( 228 ['com.example.permission1', 229 'com.example.permission2', 230 'com.example.permission3', 231 'com.example.permission4', 232 'com.example.permission5'], 233 1).then((data)=>{ 234 console.info('requestPermissionsFromUser data: ' + JSON.stringify(data)); 235 } 236); 237``` 238 239 240 241## Context.getApplicationInfo<sup>7+</sup> 242 243getApplicationInfo(callback: AsyncCallback\<ApplicationInfo>): void 244 245获取有关当前应用程序的信息(callback形式)。 246 247**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 248 249**参数:** 250 251| 参数名 | 类型 | 必填 | 说明 | 252| -------- | ------------------------------- | ---- | ------------ | 253| callback | AsyncCallback\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 是 | 返回当前应用程序的信息。 | 254 255**示例:** 256 257```ts 258import featureAbility from '@ohos.ability.featureAbility'; 259let context = featureAbility.getContext(); 260context.getApplicationInfo((err, data) => { 261 console.info('getApplicationInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 262}); 263``` 264 265 266 267## Context.getApplicationInfo<sup>7+</sup> 268 269getApplicationInfo(): Promise\<ApplicationInfo> 270 271获取有关当前应用程序的信息(Promise形式)。 272 273**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 274 275**返回值:** 276 277| 类型 | 说明 | 278| ------------------------- | --------- | 279| Promise\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 当前应用程序的信息 | 280 281**示例:** 282 283```ts 284import featureAbility from '@ohos.ability.featureAbility'; 285let context = featureAbility.getContext(); 286context.getApplicationInfo().then((data) => { 287 console.info('getApplicationInfo data: ' + JSON.stringify(data)); 288}); 289``` 290 291 292 293## Context.getBundleName<sup>7+</sup> 294 295getBundleName(callback: AsyncCallback\<string>): void 296 297获取当前ability的捆绑包名称(callback形式)。 298 299**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 300 301**参数:** 302 303| 参数名 | 类型 | 必填 | 说明 | 304| -------- | ---------------------- | ---- | ------------------ | 305| callback | AsyncCallback\<string> | 是 | 返回当前ability的捆绑包名称。 | 306 307**示例:** 308 309```ts 310import featureAbility from '@ohos.ability.featureAbility'; 311let context = featureAbility.getContext(); 312context.getBundleName((err, data) => { 313 console.info('getBundleName err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 314}); 315``` 316 317 318 319## Context.getBundleName<sup>7+</sup> 320 321getBundleName(): Promise\<string> 322 323获取当前ability的捆绑包名称(Promise形式)。 324 325**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 326 327**返回值:** 328 329| 类型 | 说明 | 330| ---------------- | ---------------- | 331| Promise\<string> | 当前ability的捆绑包名称。 | 332 333**示例:** 334 335```ts 336import featureAbility from '@ohos.ability.featureAbility'; 337let context = featureAbility.getContext(); 338context.getBundleName().then((data) => { 339 console.info('getBundleName data: ' + JSON.stringify(data)); 340}); 341``` 342 343## Context.getDisplayOrientation<sup>7+</sup> 344 345getDisplayOrientation(callback: AsyncCallback\<bundle.DisplayOrientation>): void 346 347获取此能力的当前显示方向(callback形式)。 348 349**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 350 351**参数:** 352 353| 参数名 | 类型 | 必填 | 说明 | 354| -------- | ------------------------------------------------------------ | ---- | ------------------ | 355| callback | AsyncCallback\<[bundle.DisplayOrientation](js-apis-Bundle.md#displayorientation)> | 是 | 表示屏幕显示方向。 | 356 357**示例:** 358 359```ts 360import featureAbility from '@ohos.ability.featureAbility'; 361let context = featureAbility.getContext(); 362context.getDisplayOrientation((err, data) => { 363 console.info('getDisplayOrientation err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 364}); 365``` 366 367## Context.getDisplayOrientation<sup>7+</sup> 368 369getDisplayOrientation(): Promise\<bundle.DisplayOrientation>; 370 371获取此能力的当前显示方向(Promise形式)。 372 373**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 374 375**返回值:** 376 377| 类型 | 说明 | 378| ---------------------------------------- | --------- | 379| Promise\<[bundle.DisplayOrientation](js-apis-Bundle.md#displayorientation)> | 表示屏幕显示方向。 | 380 381**示例:** 382 383```ts 384import featureAbility from '@ohos.ability.featureAbility'; 385let context = featureAbility.getContext(); 386context.getDisplayOrientation().then((data) => { 387 console.info('getDisplayOrientation data: ' + JSON.stringify(data)); 388}); 389``` 390 391## Context.getExternalCacheDir 392 393getExternalCacheDir(callback: AsyncCallback\<string>): void 394 395获取应用程序的外部缓存目录(callback形式)。 396 397**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 398 399**参数:** 400 401| 参数名 | 类型 | 必填 | 说明 | 402| -------- | ---------------------- | ---- | ------------------ | 403| callback | AsyncCallback\<string> | 是 | 返回应用程序的缓存目录的绝对路径。 | 404 405**示例:** 406 407```ts 408import featureAbility from '@ohos.ability.featureAbility'; 409let context = featureAbility.getContext(); 410context.getExternalCacheDir((err, data) => { 411 console.info('getExternalCacheDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 412}); 413``` 414 415## Context.getExternalCacheDir 416 417getExternalCacheDir(): Promise\<string>; 418 419获取应用程序的外部缓存目录(Promise形式)。 420 421**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 422 423**返回值:** 424 425| 类型 | 说明 | 426| ---------------- | ---------------- | 427| Promise\<string> | 返回应用程序的缓存目录的绝对路径。 | 428 429**示例:** 430 431```ts 432import featureAbility from '@ohos.ability.featureAbility'; 433let context = featureAbility.getContext(); 434context.getExternalCacheDir().then((data) => { 435 console.info('getExternalCacheDir data: ' + JSON.stringify(data)); 436}); 437``` 438 439## Context.setDisplayOrientation<sup>7+</sup> 440 441setDisplayOrientation(orientation: bundle.DisplayOrientation, callback: AsyncCallback\<void>): void 442 443设置当前能力的显示方向(callback形式)。 444 445**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 446 447**参数:** 448 449| 参数名 | 类型 | 必填 | 说明 | 450| ----------- | ---------------------------------------- | ---- | ------------ | 451| orientation | [bundle.DisplayOrientation](js-apis-Bundle.md#displayorientation) | 是 | 指示当前能力的新方向。。 | 452| callback | AsyncCallback\<void> | 是 | 表示屏幕显示方向。 | 453 454**示例:** 455 456```ts 457import featureAbility from '@ohos.ability.featureAbility'; 458import bundle from '@ohos.bundle'; 459let context = featureAbility.getContext(); 460let orientation=bundle.DisplayOrientation.UNSPECIFIED 461context.setDisplayOrientation(orientation, (err) => { 462 console.info('setDisplayOrientation err: ' + JSON.stringify(err)); 463}); 464``` 465 466## Context.setDisplayOrientation<sup>7+</sup> 467 468setDisplayOrientation(orientation: bundle.DisplayOrientation): Promise\<void>; 469 470设置当前能力的显示方向(Promise形式)。 471 472**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 473 474**返回值:** 475 476| 类型 | 说明 | 477| ---------------------------------------- | ---------------------------------------- | 478| orientation | [bundle.DisplayOrientation](js-apis-Bundle.md#displayorientation) | 479| Promise\<void> | 表示屏幕显示方向。 | 480 481**示例:** 482 483```ts 484import featureAbility from '@ohos.ability.featureAbility'; 485import bundle from '@ohos.bundle'; 486let context = featureAbility.getContext(); 487let orientation=bundle.DisplayOrientation.UNSPECIFIED 488context.setDisplayOrientation(orientation).then((data) => { 489 console.info('setDisplayOrientation data: ' + JSON.stringify(data)); 490}); 491``` 492 493## Context.setShowOnLockScreen<sup>7+</sup> 494 495setShowOnLockScreen(show: boolean, callback: AsyncCallback\<void>): void 496 497设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(callback形式)。 498 499**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 500 501**参数:** 502 503| 参数名 | 类型 | 必填 | 说明 | 504| -------- | -------------------- | ---- | ---------------------------------------- | 505| show | boolean | 是 | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 | 506| callback | AsyncCallback\<void> | 是 | 返回回调结果。 | 507 508**示例:** 509 510```ts 511import featureAbility from '@ohos.ability.featureAbility'; 512let context = featureAbility.getContext(); 513let show=true 514context.setShowOnLockScreen(show, (err) => { 515 console.info('setShowOnLockScreen err: ' + JSON.stringify(err)); 516}); 517``` 518 519## Context.setShowOnLockScreen<sup>7+</sup> 520 521setShowOnLockScreen(show: boolean): Promise\<void>; 522 523设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(Promise形式)。 524 525**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 526 527**参数:** 528 529| 参数名 | 类型 | 必填 | 说明 | 530| ---- | ------- | ---- | ---------------------------------------- | 531| show | boolean | 是 | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 | 532 533**返回值:** 534 535| 类型 | 说明 | 536| -------------- | --------------- | 537| Promise\<void> | 使用Promise形式返回结果 | 538 539**示例:** 540 541```ts 542import featureAbility from '@ohos.ability.featureAbility'; 543let context = featureAbility.getContext(); 544let show=true 545context.setShowOnLockScreen(show).then((data) => { 546 console.info('setShowOnLockScreen data: ' + JSON.stringify(data)); 547}); 548``` 549 550## Context.setWakeUpScreen<sup>7+</sup> 551 552setWakeUpScreen(wakeUp: boolean, callback: AsyncCallback\<void>): void 553 554设置恢复此功能时是否唤醒屏幕。(callback形式)。 555 556**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 557 558**参数:** 559 560| 参数名 | 类型 | 必填 | 说明 | 561| -------- | -------------------- | ---- | --------------------------------- | 562| wakeUp | boolean | 是 | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 | 563| callback | AsyncCallback\<void> | 是 | 返回回调结果。 | 564 565**示例:** 566 567```ts 568import featureAbility from '@ohos.ability.featureAbility'; 569let context = featureAbility.getContext(); 570let wakeUp=true 571context.setWakeUpScreen(wakeUp, (err) => { 572 console.info('setWakeUpScreen err: ' + JSON.stringify(err)); 573}); 574``` 575 576## Context.setWakeUpScreen<sup>7+</sup> 577 578setWakeUpScreen(wakeUp: boolean): Promise\<void>; 579 580设置恢复此功能时是否唤醒屏幕。(Promise形式)。 581 582**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 583 584**参数:** 585 586| 参数名 | 类型 | 必填 | 说明 | 587| ------ | ------- | ---- | --------------------------------- | 588| wakeUp | boolean | 是 | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 | 589 590**返回值:** 591 592| 类型 | 说明 | 593| -------------- | --------------- | 594| Promise\<void> | 使用Promise形式返回结果 | 595 596**示例:** 597 598```ts 599import featureAbility from '@ohos.ability.featureAbility'; 600let context = featureAbility.getContext(); 601let wakeUp=true 602context.setWakeUpScreen(wakeUp).then((data) => { 603 console.info('setWakeUpScreen data: ' + JSON.stringify(data)); 604}); 605``` 606 607 608 609 610## Context.getProcessInfo<sup>7+</sup> 611 612getProcessInfo(callback: AsyncCallback\<ProcessInfo>): void 613 614获取有关当前进程的信息,包括进程ID和名称(callback形式)。 615 616**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 617 618**参数:** 619 620| 参数名 | 类型 | 必填 | 说明 | 621| -------- | --------------------------- | ---- | ---------- | 622| callback | AsyncCallback\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 是 | 返回当前进程的信息。 | 623 624**示例:** 625 626```ts 627import featureAbility from '@ohos.ability.featureAbility'; 628let context = featureAbility.getContext(); 629context.getProcessInfo((err, data) => { 630 console.info('getProcessInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 631}); 632``` 633 634 635 636## Context.getProcessInfo<sup>7+</sup> 637 638getProcessInfo(): Promise\<ProcessInfo> 639 640获取有关当前进程的信息,包括进程id和名称(Promise形式)。 641 642**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 643 644**返回值:** 645 646| 类型 | 说明 | 647| --------------------- | ------- | 648| Promise\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 当前进程的信息 | 649 650**示例:** 651 652```ts 653import featureAbility from '@ohos.ability.featureAbility'; 654let context = featureAbility.getContext(); 655context.getProcessInfo().then((data) => { 656 console.info('getProcessInfo data: ' + JSON.stringify(data)); 657}); 658``` 659 660 661 662## Context.getElementName<sup>7+</sup> 663 664getElementName(callback: AsyncCallback\<ElementName>): void 665 666获取当前ability的ohos.bundle.ElementName对象(callback形式)。 667 668此方法仅适用于页面功能。 669 670**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 671 672**参数:** 673 674| 参数名 | 类型 | 必填 | 说明 | 675| -------- | --------------------------- | ---- | -------------------------------------- | 676| callback | AsyncCallback\<[ElementName](js-apis-bundle-ElementName.md)> | 是 | 返回当前ability的ohos.bundle.ElementName对象。 | 677 678**示例:** 679 680```ts 681import featureAbility from '@ohos.ability.featureAbility'; 682let context = featureAbility.getContext(); 683context.getElementName((err, data) => { 684 console.info('getElementName err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 685}); 686``` 687 688 689 690## Context.getElementName<sup>7+</sup> 691 692getElementName(): Promise\<ElementName> 693 694获取当前能力的ohos.bundle.ElementName对象(Promise形式)。 695 696此方法仅适用于页面功能。 697 698**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 699 700**返回值:** 701 702| 类型 | 说明 | 703| --------------------- | ------------------------------------ | 704| Promise\<[ElementName](js-apis-bundle-ElementName.md)> | 当前ability的ohos.bundle.ElementName对象。 | 705 706**示例:** 707 708```ts 709import featureAbility from '@ohos.ability.featureAbility'; 710let context = featureAbility.getContext(); 711context.getElementName().then((data) => { 712 console.info('getElementName data: ' + JSON.stringify(data)); 713}); 714``` 715 716## Context.getProcessName<sup>7+</sup> 717 718getProcessName(callback: AsyncCallback\<string>): void 719 720获取当前进程的名称(callback形式)。 721 722**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 723 724**参数:** 725 726| 参数名 | 类型 | 必填 | 说明 | 727| -------- | ---------------------- | ---- | ---------- | 728| callback | AsyncCallback\<string> | 是 | 返回当前进程的名称。 | 729 730**示例:** 731 732```ts 733import featureAbility from '@ohos.ability.featureAbility'; 734let context = featureAbility.getContext(); 735context.getProcessName((err, data) => { 736 console.info('getProcessName err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 737}); 738``` 739 740 741 742## Context.getProcessName<sup>7+</sup> 743 744getProcessName(): Promise\<string> 745 746获取当前进程的名称(Promise形式)。 747 748**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 749 750**返回值:** 751 752| 类型 | 说明 | 753| ---------------- | ---------- | 754| Promise\<string> | 返回当前进程的名称。 | 755 756**示例:** 757 758```ts 759import featureAbility from '@ohos.ability.featureAbility'; 760let context = featureAbility.getContext(); 761context.getProcessName().then((data) => { 762 console.info('getProcessName data: ' + JSON.stringify(data)); 763}); 764``` 765 766 767 768## Context.getCallingBundle<sup>7+</sup> 769 770getCallingBundle(callback: AsyncCallback\<string>): void 771 772获取调用ability的包名称(callback形式)。 773 774**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 775 776**参数:** 777 778| 参数名 | 类型 | 必填 | 说明 | 779| -------- | ---------------------- | ---- | ---------------- | 780| callback | AsyncCallback\<string> | 是 | 返回调用ability的包名称。 | 781 782**示例:** 783 784```ts 785import featureAbility from '@ohos.ability.featureAbility'; 786let context = featureAbility.getContext(); 787context.getCallingBundle((err, data) => { 788 console.info('getCallingBundle err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 789}); 790``` 791 792 793 794## Context.getCallingBundle<sup>7+</sup> 795 796getCallingBundle(): Promise\<string> 797 798获取调用ability的包名称(Promise形式)。 799 800**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 801 802**返回值:** 803 804| 类型 | 说明 | 805| ---------------- | -------------- | 806| Promise\<string> | 调用ability的包名称。 | 807 808**示例:** 809 810```ts 811import featureAbility from '@ohos.ability.featureAbility'; 812let context = featureAbility.getContext(); 813context.getCallingBundle().then((data) => { 814 console.info('getCallingBundle data: ' + JSON.stringify(data)); 815}); 816``` 817 818## Context.getCacheDir 819 820getCacheDir(callback: AsyncCallback\<string>): void 821 822获取该应用程序的内部存储目录(callback形式)。 823 824**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 825 826**参数:** 827 828| 参数名 | 类型 | 必填 | 说明 | 829| -------- | ---------------------- | ---- | --------------- | 830| callback | AsyncCallback\<string> | 是 | 返回该应用程序的内部存储目录。 | 831 832**示例:** 833 834```ts 835import featureAbility from '@ohos.ability.featureAbility'; 836let context = featureAbility.getContext(); 837context.getCacheDir((err, data) => { 838 console.info('getCacheDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 839}); 840``` 841 842## Context.getCacheDir 843 844getCacheDir(): Promise\<string> 845 846获取该应用程序的内部存储目录(Promise形式)。 847 848**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 849 850**返回值:** 851 852| 类型 | 说明 | 853| ---------------- | --------------- | 854| Promise\<string> | 获取该应用程序的内部存储目录。 | 855 856**示例:** 857 858```ts 859import featureAbility from '@ohos.ability.featureAbility'; 860let context = featureAbility.getContext(); 861context.getCacheDir().then((data) => { 862 console.info('getCacheDir data: ' + JSON.stringify(data)); 863}); 864``` 865 866## Context.getFilesDir 867 868getFilesDir(callback: AsyncCallback\<string>): void 869 870获取内部存储器上此应用程序的文件目录(callback形式)。 871 872**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 873 874**参数:** 875 876| 参数名 | 类型 | 必填 | 说明 | 877| -------- | ---------------------- | ---- | ------------------- | 878| callback | AsyncCallback\<string> | 是 | 返回内部存储器上此应用程序的文件目录。 | 879 880**示例:** 881 882```ts 883import featureAbility from '@ohos.ability.featureAbility'; 884let context = featureAbility.getContext(); 885context.getFilesDir((err, data) => { 886 console.info('getFilesDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 887}); 888``` 889 890## Context.getFilesDir 891 892getFilesDir(): Promise\<string> 893 894获取内部存储器上此应用程序的文件目录(Promise形式)。 895 896**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 897 898**返回值:** 899 900| 类型 | 说明 | 901| ---------------- | ------------------- | 902| Promise\<string> | 返回内部存储器上此应用程序的文件目录。 | 903 904**示例:** 905 906```ts 907import featureAbility from '@ohos.ability.featureAbility'; 908let context = featureAbility.getContext(); 909context.getFilesDir().then((data) => { 910 console.info('getFilesDir data: ' + JSON.stringify(data)); 911}); 912``` 913 914## Context.getOrCreateDistributedDir<sup>7+</sup> 915 916getOrCreateDistributedDir(callback: AsyncCallback\<string>): void 917 918获取Ability或应用的分布式文件路径。 919 920如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(callback形式)。 921 922**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 923 924**参数:** 925 926| 参数名 | 类型 | 必填 | 说明 | 927| -------- | ---------------------- | ---- | ---------------------------------------- | 928| callback | AsyncCallback\<string> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回Ability或应用的分布式文件路径。如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径。 | 929 930**示例:** 931 932```ts 933import featureAbility from '@ohos.ability.featureAbility'; 934let context = featureAbility.getContext(); 935context.getOrCreateDistributedDir((err, data) => { 936 console.info('getOrCreateDistributedDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 937}); 938``` 939 940## Context.getOrCreateDistributedDir<sup>7+</sup> 941 942getOrCreateDistributedDir(): Promise\<string> 943 944获取Ability或应用的分布式文件路径。 945 946如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(Promise形式)。 947 948**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 949 950**返回值:** 951 952| 类型 | 说明 | 953| ---------------- | ----------------------------------- | 954| Promise\<string> | Ability或应用的分布式文件路径。如果是第一次调用,则将创建目录。 | 955 956**示例:** 957 958```ts 959import featureAbility from '@ohos.ability.featureAbility'; 960let context = featureAbility.getContext(); 961context.getOrCreateDistributedDir().then((data) => { 962 console.info('getOrCreateDistributedDir data: ' + JSON.stringify(data)); 963}); 964``` 965 966## Context.getAppType<sup>7+</sup> 967 968getAppType(callback: AsyncCallback\<string>): void 969 970获取此应用的类型(callback形式)。 971 972**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 973 974**参数:** 975 976| 参数名 | 类型 | 必填 | 说明 | 977| -------- | ---------------------- | ---- | -------------------------------- | 978| callback | AsyncCallback\<string> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回此应用程序的类型。 | 979 980**示例:** 981 982```ts 983import featureAbility from '@ohos.ability.featureAbility'; 984let context = featureAbility.getContext(); 985context.getAppType((err, data) => { 986 console.info('getAppType err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 987}); 988``` 989 990## Context.getAppType<sup>7+</sup> 991 992getAppType(): Promise\<string> 993 994获取此应用的类型(Promise形式)。 995 996**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 997 998**返回值:** 999 1000| 类型 | 说明 | 1001| ---------------- | ------------------ | 1002| Promise\<string> | Promise形式返回此应用的类型。 | 1003 1004**示例:** 1005 1006```ts 1007import featureAbility from '@ohos.ability.featureAbility'; 1008let context = featureAbility.getContext(); 1009context.getAppType().then((data) => { 1010 console.info('getAppType data: ' + JSON.stringify(data)); 1011}); 1012``` 1013 1014## Context.getHapModuleInfo<sup>7+</sup> 1015 1016getHapModuleInfo(callback: AsyncCallback\<HapModuleInfo>): void 1017 1018获取应用的ModuleInfo对象(callback形式)。 1019 1020**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1021 1022**参数:** 1023 1024| 参数名 | 类型 | 必填 | 说明 | 1025| -------- | ---------------------------------------- | ---- | --------------------------------------- | 1026| callback | AsyncCallback\<[HapModuleInfo](js-apis-bundle-HapModuleInfo.md)> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回应用的ModuleInfo对象。 | 1027 1028**示例:** 1029 1030```ts 1031import featureAbility from '@ohos.ability.featureAbility'; 1032let context = featureAbility.getContext(); 1033context.getHapModuleInfo((err, data) => { 1034 console.info('getHapModuleInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 1035}); 1036``` 1037 1038## Context.getHapModuleInfo<sup>7+</sup> 1039 1040getHapModuleInfo(): Promise\<HapModuleInfo> 1041 1042获取应用的ModuleInfo对象(Promise形式)。 1043 1044**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1045 1046**返回值:** 1047 1048| 类型 | 说明 | 1049| ---------------------------------------- | ------------------ | 1050| Promise\<[HapModuleInfo](js-apis-bundle-HapModuleInfo.md)> | 返回应用的ModuleInfo对象。 | 1051 1052**示例:** 1053 1054```ts 1055import featureAbility from '@ohos.ability.featureAbility'; 1056let context = featureAbility.getContext(); 1057context.getHapModuleInfo().then((data) => { 1058 console.info('getHapModuleInfo data: ' + JSON.stringify(data)); 1059}); 1060``` 1061 1062## Context.getAppVersionInfo<sup>7+</sup> 1063 1064getAppVersionInfo(callback: AsyncCallback\<AppVersionInfo>): void 1065 1066获取应用的版本信息(callback形式)。 1067 1068**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1069 1070**参数:** 1071 1072| 参数名 | 类型 | 必填 | 说明 | 1073| -------- | ---------------------------------------- | ---- | ------------------------------ | 1074| callback | AsyncCallback\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回应用版本信息。 | 1075 1076**示例:** 1077 1078```ts 1079import featureAbility from '@ohos.ability.featureAbility'; 1080let context = featureAbility.getContext(); 1081context.getAppVersionInfo((err, data) => { 1082 console.info('getAppVersionInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 1083}); 1084``` 1085 1086## Context.getAppVersionInfo<sup>7+</sup> 1087 1088getAppVersionInfo(): Promise\<AppVersionInfo> 1089 1090获取应用的版本信息(Promise形式)。 1091 1092**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1093 1094**返回值:** 1095 1096| 类型 | 说明 | 1097| ---------------------------------------- | --------- | 1098| Promise\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 返回应用版本信息。 | 1099 1100**示例:** 1101 1102```ts 1103import featureAbility from '@ohos.ability.featureAbility'; 1104let context = featureAbility.getContext(); 1105context.getAppVersionInfo().then((data) => { 1106 console.info('getAppVersionInfo data: ' + JSON.stringify(data)); 1107}); 1108``` 1109 1110## Context.getAbilityInfo<sup>7+</sup> 1111 1112getAbilityInfo(callback: AsyncCallback\<AbilityInfo>): void 1113 1114查询当前归属Ability详细信息(callback形式)。 1115 1116**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1117 1118**参数:** 1119 1120| 参数名 | 类型 | 必填 | 说明 | 1121| -------- | ---------------------------------------- | ---- | --------------------------------------- | 1122| callback | AsyncCallback\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回当前归属Ability详细信息。 | 1123 1124**示例:** 1125 1126```ts 1127import featureAbility from '@ohos.ability.featureAbility'; 1128let context = featureAbility.getContext(); 1129context.getAbilityInfo((err, data) => { 1130 console.info('getAbilityInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 1131}); 1132``` 1133 1134## Context.getAbilityInfo<sup>7+</sup> 1135 1136getAbilityInfo(): Promise\<AbilityInfo> 1137 1138查询当前归属Ability详细信息(Promise形式)。 1139 1140**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1141 1142**返回值:** 1143 1144| 类型 | 说明 | 1145| ---------------------------------------- | ------------------ | 1146| Promise\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | 返回当前归属Ability详细信息。 | 1147 1148**示例:** 1149 1150```ts 1151import featureAbility from '@ohos.ability.featureAbility'; 1152let context = featureAbility.getContext(); 1153context.getAbilityInfo().then((data) => { 1154 console.info('getAbilityInfo data: ' + JSON.stringify(data)); 1155}); 1156``` 1157 1158## Context.getApplicationContext<sup>7+</sup> 1159 1160getApplicationContext(): Context 1161 1162获取应用上下文信息。 1163 1164**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1165 1166**返回值:** 1167 1168| 类型 | 说明 | 1169| ------- | ---------- | 1170| Context | 返回应用上下文信息。 | 1171 1172**示例:** 1173 1174```ts 1175import featureAbility from '@ohos.ability.featureAbility'; 1176let context = featureAbility.getContext().getApplicationContext(); 1177``` 1178 1179## Context.isUpdatingConfigurations<sup>7+</sup> 1180 1181isUpdatingConfigurations(callback: AsyncCallback\<boolean>): void; 1182 1183检查此能力的配置是否正在更改(callback形式)。 1184 1185**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1186 1187**参数:** 1188 1189| 参数名 | 类型 | 必填 | 说明 | 1190| -------- | ----------------------- | ---- | ----------------------------- | 1191| callback | AsyncCallback\<boolean> | 是 | 如果该能力的配置正在更改,则为true,否则为false。 | 1192 1193**示例:** 1194 1195```ts 1196import featureAbility from '@ohos.ability.featureAbility'; 1197let context = featureAbility.getContext(); 1198context.isUpdatingConfigurations((err, data) => { 1199 console.info('isUpdatingConfigurations err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); 1200}); 1201``` 1202 1203## Context.isUpdatingConfigurations<sup>7+</sup> 1204 1205isUpdatingConfigurations(): Promise\<boolean>; 1206 1207检查此能力的配置是否正在更改(Promise形式)。 1208 1209**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1210 1211**返回值:** 1212 1213| 类型 | 说明 | 1214| ----------------- | ----------------------------- | 1215| Promise\<boolean> | 如果该能力的配置正在更改,则为true,否则为false。 | 1216 1217**示例:** 1218 1219```ts 1220import featureAbility from '@ohos.ability.featureAbility'; 1221let context = featureAbility.getContext(); 1222context.isUpdatingConfigurations().then((data) => { 1223 console.info('isUpdatingConfigurations data: ' + JSON.stringify(data)); 1224}); 1225``` 1226 1227## Context.printDrawnCompleted<sup>7+</sup> 1228 1229printDrawnCompleted(callback: AsyncCallback\<void>): void; 1230 1231通知系统绘制此页面功能所需的时间(callback形式)。 1232 1233**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1234 1235**参数:** 1236 1237| 参数名 | 类型 | 必填 | 说明 | 1238| -------- | -------------------- | ---- | ----------- | 1239| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 1240 1241**示例:** 1242 1243```ts 1244import featureAbility from '@ohos.ability.featureAbility'; 1245let context = featureAbility.getContext(); 1246context.printDrawnCompleted((err) => { 1247 console.error('printDrawnCompleted err: ' + JSON.stringify(err)); 1248}); 1249``` 1250 1251## Context.printDrawnCompleted<sup>7+</sup> 1252 1253printDrawnCompleted(): Promise\<void>; 1254 1255通知系统绘制此页面功能所需的时间(Promise形式)。 1256 1257**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1258 1259**返回值:** 1260 1261| 类型 | 说明 | 1262| -------------- | --------------- | 1263| Promise\<void> | 以Promise形式返回结果。 | 1264 1265**示例:** 1266 1267```ts 1268import featureAbility from '@ohos.ability.featureAbility'; 1269let context = featureAbility.getContext(); 1270context.printDrawnCompleted().then((data) => { 1271 console.info('printDrawnCompleted data: ' + JSON.stringify(data)); 1272}); 1273``` 1274 1275 1276## PermissionOptions<sup>7+</sup> 1277 1278**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core 1279 1280| 名称 | 读写属性 | 类型 | 必填 | 说明 | 1281| ---- | ---- | ------ | ---- | ----- | 1282| pid | 只读 | number | 否 | 进程id。 | 1283| uid | 只读 | number | 否 | 用户id。 | 1284 1285## PermissionRequestResult<sup>7+</sup> 1286 1287**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core 1288 1289| 名称 | 读写属性 | 类型 | 必填 | 说明 | 1290| ----------- | ---- | -------------- | ---- | ---------- | 1291| requestCode | 只读 | number | 是 | 用户传入的请求代码。 | 1292| permissions | 只读 | Array\<string> | 是 | 用户传入的权限。 | 1293| authResults | 只读 | Array\<number> | 是 | 请求权限的结果。 |