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