1# Context模块 2 3## 导入模块 4 5```js 6import featureAbility from '@ohos.ability.featureAbility' 7import bundle from '@ohos.bundle' 8``` 9 10Context对象是在featureAbility中创建实例,并通过featureAbility的getContext()接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下: 11 12```js 13import featureAbility from '@ohos.ability.featureAbility' 14var context = featureAbility.getContext(); 15context.getOrCreateLocalDir() 16``` 17 18## Context.getOrCreateLocalDir 19 20getOrCreateLocalDir(callback: AsyncCallback\<string>): void 21 22获取应用程序的本地根目录(callback形式)。 23 24如果是第一次调用,将创建目录。 25 26**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 27 28**参数:** 29 30| 名称 | 类型 | 必填 | 描述 | 31| -------- | ---------------------- | ---- | -------------------------- | 32| callback | AsyncCallback\<string> | 是 | 返回应用程序的本地根目录。 | 33 34**示例:** 35 36```js 37import featureAbility from '@ohos.ability.featureAbility' 38var context = featureAbility.getContext(); 39context.getOrCreateLocalDir((err, data)=>{ 40 console.info("data=" + data); 41}) 42``` 43 44 45 46## Context.getOrCreateLocalDir 47 48getOrCreateLocalDir(): Promise\<string> 49 50获取应用程序的本地根目录(Promise形式)。 51 52如果是第一次调用,将创建目录。 53 54**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 55 56**返回值:** 57 58| 类型 | 说明 | 59| ---------------- | ---------------------- | 60| Promise\<string> | 应用程序的本地根目录。 | 61 62**示例:** 63 64```js 65import featureAbility from '@ohos.ability.featureAbility' 66var context = featureAbility.getContext(); 67context.getOrCreateLocalDir().then((data) => { 68 console.info("data=" + data); 69}); 70``` 71 72 73 74## Context.verifyPermission 75 76verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\<number>): void 77 78验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)。 79 80**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 81 82**参数:** 83 84| 名称 | 类型 | 必填 | 描述 | 85| ---------- | --------------------------------------- | ---- | ------------------------------------- | 86| permission | string | 是 | 指定权限的名称。 | 87| options | [PermissionOptions](#permissionoptions) | 是 | 权限选项。 | 88| callback | AsyncCallback\<number> | 是 | 返回权限验证结果,0有权限,-1无权限。 | 89 90**示例:** 91 92```js 93import featureAbility from '@ohos.ability.featureAbility' 94import bundle from '@ohos.bundle' 95var context = featureAbility.getContext(); 96bundle.getBundleInfo('com.context.test', 1, (datainfo) =>{ 97 context.verifyPermission("com.example.permission", datainfo.uid); 98}); 99``` 100 101 102 103## Context.verifyPermission 104 105verifyPermission(permission: string, callback: AsyncCallback\<number>): void 106 107验证系统中运行的当前pid和uid是否具有指定的权限(callback形式)。 108 109**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 110 111**参数:** 112 113| 名称 | 类型 | 必填 | 描述 | 114| ---------- | ---------------------- | ---- | ------------------------------------- | 115| permission | string | 是 | 指定权限的名称。 | 116| callback | AsyncCallback\<number> | 是 | 返回权限验证结果,0有权限,-1无权限。 | 117 118**示例:** 119 120```js 121import featureAbility from '@ohos.ability.featureAbility' 122var context = featureAbility.getContext(); 123context.verifyPermission("com.example.permission") 124``` 125 126## Context.verifyPermission 127 128verifyPermission(permission: string, options?: PermissionOptions): Promise\<number> 129 130验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式)。 131 132**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 133 134**参数:** 135 136| 名称 | 类型 | 必填 | 描述 | 137| ---------- | --------------------------------------- | ---- | ---------------- | 138| permission | string | 是 | 指定权限的名称。 | 139| options | [PermissionOptions](#permissionoptions) | 否 | 权限选项。 | 140 141**返回值:** 142 143| 类型 | 说明 | 144| ---------------- | ----------------------------------------------------------- | 145| Promise\<number> | 如果pid和uid具有权限,则使用0进行异步回调;否则使用-1回调。 | 146 147**示例:** 148 149```js 150import featureAbility from '@ohos.ability.featureAbility' 151var context = featureAbility.getContext(); 152var Permission = context.PermissionOptions(1,1); 153context.verifyPermission('com.context.permission',Permission).then((data) => { 154 console.info("======================>verifyPermissionCallback====================>"); 155 console.info("====>data====>" + JSON.stringify(data)); 156}); 157``` 158 159 160 161## Context.requestPermissionsFromUser 162 163requestPermissionsFromUser(permissions: Array\<string>, requestCode: number, resultCallback: AsyncCallback<[PermissionRequestResult](#permissionrequestresult)>): void 164 165从系统请求某些权限(callback形式)。 166 167**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 168 169**参数:** 170 171| 名称 | 类型 | 必填 | 描述 | 172| -------------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- | 173| permissions | Array\<string> | 是 | 指示要请求的权限列表。此参数不能为null。 | 174| requestCode | number | 是 | 指示要传递给PermissionRequestResult的请求代码。 | 175| resultCallback | AsyncCallback<[PermissionRequestResult](#permissionrequestresult)> | 是 | 返回授权结果信息。 | 176 177**示例:** 178 179```js 180import featureAbility from '@ohos.ability.featureAbility' 181var context = featureAbility.getContext(); 182context.requestPermissionsFromUser( 183 ["com.example.permission1", 184 "com.example.permission2", 185 "com.example.permission3", 186 "com.example.permission4", 187 "com.example.permission5"], 188 1,(err, data)=>{ 189 console.info("====>requestdata====>" + JSON.stringify(data)); 190 console.info("====>requesterrcode====>" + JSON.stringify(err.code)); 191 } 192) 193``` 194 195 196## Context.requestPermissionsFromUser<sup>7+</sup> 197 198requestPermissionsFromUser(permissions: Array\<string>, requestCode: number): Promise\<[PermissionRequestResult](#permissionrequestresult7)> 199 200从系统请求某些权限(promise形式)。 201 202**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 203 204**参数:** 205 206| 名称 | 类型 | 必填 | 描述 | 207| -------------- | ------------------- | ----- | -------------------------------------------- | 208| permissions | Array\<string> | 是 | 指示要请求的权限列表。此参数不能为null。 | 209| requestCode | number | 是 | 指示要传递给PermissionRequestResult的请求代码。 | 210 211**返回值:** 212 213| 类型 | 说明 | 214| ------------------------------------------------------------- | ---------------- | 215| Promise\<[PermissionRequestResult](#permissionrequestresult7)> | 返回授权结果信息。 | 216 217**示例:** 218 219```js 220import featureAbility from '@ohos.ability.featureAbility' 221var context = featureAbility.getContext(); 222context.requestPermissionsFromUser( 223 ["com.example.permission1", 224 "com.example.permission2", 225 "com.example.permission3", 226 "com.example.permission4", 227 "com.example.permission5"], 228 1).then((data)=>{ 229 console.info("====>requestdata====>" + JSON.stringify(data)); 230 }); 231``` 232 233 234 235## Context.getApplicationInfo 236 237getApplicationInfo(callback: AsyncCallback\<ApplicationInfo>): void 238 239获取有关当前应用程序的信息(callback形式)。 240 241**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 242 243**参数:** 244 245| 名称 | 类型 | 必填 | 描述 | 246| -------- | ------------------------------- | ---- | ------------------------ | 247| callback | AsyncCallback\<ApplicationInfo> | 是 | 返回当前应用程序的信息。 | 248 249**示例:** 250 251```js 252import featureAbility from '@ohos.ability.featureAbility' 253var context = featureAbility.getContext(); 254context.getApplicationInfo() 255``` 256 257 258 259## Context.getApplicationInfo 260 261getApplicationInfo(): Promise\<ApplicationInfo> 262 263获取有关当前应用程序的信息(Promise形式)。 264 265**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 266 267**返回值:** 268 269| 类型 | 说明 | 270| ------------------------- | ------------------ | 271| Promise\<ApplicationInfo> | 当前应用程序的信息 | 272 273**示例:** 274 275```js 276import featureAbility from '@ohos.ability.featureAbility' 277var context = featureAbility.getContext(); 278context.getApplicationInfo().then((data) => { 279 console.info("=====================>getApplicationInfoCallback===================>"); 280 console.info("====>data====>" + JSON.stringify(data)); 281}); 282``` 283 284 285 286## Context.getBundleName 287 288getBundleName(callback: AsyncCallback\<string>): void 289 290获取当前ability的捆绑包名称(callback形式)。 291 292**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 293 294**参数:** 295 296| 名称 | 类型 | 必填 | 描述 | 297| -------- | ---------------------- | ---- | ----------------------------- | 298| callback | AsyncCallback\<string> | 是 | 返回当前ability的捆绑包名称。 | 299 300**示例:** 301 302```js 303import featureAbility from '@ohos.ability.featureAbility' 304var context = featureAbility.getContext(); 305context.getBundleName() 306``` 307 308 309 310## Context.getBundleName 311 312getBundleName(): Promise\<string> 313 314获取当前ability的捆绑包名称(Promise形式)。 315 316**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 317 318**返回值:** 319 320| 类型 | 说明 | 321| ---------------- | ------------------------- | 322| Promise\<string> | 当前ability的捆绑包名称。 | 323 324**示例:** 325 326```js 327import featureAbility from '@ohos.ability.featureAbility' 328var context = featureAbility.getContext(); 329context.getBundleName().then((data) => { 330 console.info("=======================>getBundleNameCallback====================>"); 331 console.info("====>data====>" + JSON.stringify(data)); 332}); 333``` 334 335 336 337## Context.getProcessInfo 338 339getProcessInfo(callback: AsyncCallback\<ProcessInfo>): void 340 341获取有关当前进程的信息,包括进程ID和名称(callback形式)。 342 343**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 344 345**参数:** 346 347| 名称 | 类型 | 必填 | 描述 | 348| -------- | --------------------------- | ---- | -------------------- | 349| callback | AsyncCallback\<ProcessInfo> | 是 | 返回当前进程的信息。 | 350 351**示例:** 352 353```js 354import featureAbility from '@ohos.ability.featureAbility' 355var context = featureAbility.getContext(); 356context.getProcessInfo() 357``` 358 359 360 361## Context.getProcessInfo 362 363getProcessInfo(): Promise\<ProcessInfo> 364 365获取有关当前进程的信息,包括进程id和名称(Promise形式)。 366 367**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 368 369**返回值:** 370 371| 类型 | 说明 | 372| --------------------- | -------------- | 373| Promise\<ProcessInfo> | 当前进程的信息 | 374 375**示例:** 376 377```js 378import featureAbility from '@ohos.ability.featureAbility' 379var context = featureAbility.getContext(); 380context.getProcessInfo().then((data) => { 381 console.info("=======================>getProcessInfoCallback====================>"); 382 console.info("====>data====>" + JSON.stringify(data)); 383}); 384``` 385 386 387 388## Context.getElementName 389 390getElementName(callback: AsyncCallback\<ElementName>): void 391 392获取当前ability的ohos.bundle.ElementName对象(callback形式)。 393 394此方法仅适用于页面功能。 395 396**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 397 398**参数:** 399 400| 名称 | 类型 | 必填 | 描述 | 401| -------- | --------------------------- | ---- | ---------------------------------------------- | 402| callback | AsyncCallback\<ElementName> | 是 | 返回当前ability的ohos.bundle.ElementName对象。 | 403 404**示例:** 405 406```js 407import featureAbility from '@ohos.ability.featureAbility' 408var context = featureAbility.getContext(); 409context.getElementName() 410``` 411 412 413 414## Context.getElementName 415 416getElementName(): Promise\<ElementName> 417 418获取当前能力的ohos.bundle.ElementName对象(Promise形式)。 419 420此方法仅适用于页面功能。 421 422**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 423 424**返回值:** 425 426| 类型 | 说明 | 427| --------------------- | ------------------------------------------ | 428| Promise\<ElementName> | 当前ability的ohos.bundle.ElementName对象。 | 429 430**示例:** 431 432```js 433import featureAbility from '@ohos.ability.featureAbility' 434var context = featureAbility.getContext(); 435context.getElementName().then((data) => { 436 console.info("=======================>getElementNameCallback====================>"); 437 console.info("====>data====>" + JSON.stringify(data)); 438}); 439``` 440 441## Context.getProcessName 442 443getProcessName(callback: AsyncCallback\<string>): void 444 445获取当前进程的名称(callback形式)。 446 447**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 448 449**参数:** 450 451| 名称 | 类型 | 必填 | 描述 | 452| -------- | ---------------------- | ---- | -------------------- | 453| callback | AsyncCallback\<string> | 是 | 返回当前进程的名称。 | 454 455**示例:** 456 457```js 458import featureAbility from '@ohos.ability.featureAbility' 459var context = featureAbility.getContext(); 460context.getProcessName() 461``` 462 463 464 465## Context.getProcessName 466 467getProcessName(): Promise\<string> 468 469获取当前进程的名称(Promise形式)。 470 471**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 472 473**返回值:** 474 475| 类型 | 说明 | 476| ---------------- | -------------------- | 477| Promise\<string> | 返回当前进程的名称。 | 478 479**示例:** 480 481```js 482import featureAbility from '@ohos.ability.featureAbility' 483var context = featureAbility.getContext(); 484context.getProcessName().then((data) => { 485 console.info("=======================>getProcessNameCallback====================>"); 486 console.info("====>data====>" + JSON.stringify(data)); 487}); 488``` 489 490 491 492## Context.getCallingBundle 493 494getCallingBundle(callback: AsyncCallback\<string>): void 495 496获取调用ability的包名称(callback形式)。 497 498**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 499 500**参数:** 501 502| 名称 | 类型 | 必填 | 描述 | 503| -------- | ---------------------- | ---- | ------------------------- | 504| callback | AsyncCallback\<string> | 是 | 返回调用ability的包名称。 | 505 506**示例:** 507 508```js 509import featureAbility from '@ohos.ability.featureAbility' 510var context = featureAbility.getContext(); 511context.getCallingBundle() 512``` 513 514 515 516## Context.getCallingBundle 517 518getCallingBundle(): Promise\<string> 519 520获取调用ability的包名称(Promise形式)。 521 522**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 523 524**返回值:** 525 526| 类型 | 说明 | 527| --------------- | ------------------------- | 528| Promise\<string> | 调用ability的包名称 | 529 530**示例:** 531 532```js 533import featureAbility from '@ohos.ability.featureAbility' 534var context = featureAbility.getContext(); 535context.getCallingBundle().then((data) => { 536 console.info("======================>getCallingBundleCallback====================>"); 537 console.info("====>data====>" + JSON.stringify(data)); 538}); 539``` 540 541## Context.getCacheDir 542 543getCacheDir(callback: AsyncCallback\<string>): void 544 545获取该应用程序的内部存储目录(callback形式)。 546 547**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 548 549**参数:** 550 551| 名称 | 类型 | 必填 | 描述 | 552| -------- | ---------------------- | ---- | ------------------------- | 553| callback | AsyncCallback\<string> | 是 | 返回该应用程序的内部存储目录。| 554 555**示例:** 556 557```js 558import featureAbility from '@ohos.ability.featureAbility' 559var context = featureAbility.getCacheDir(); 560context.getCacheDir((err, data) => { 561 if (err) { 562 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 563 return; 564 } 565 console.info('Operation successful. Data:' + JSON.stringify(data)); 566}); 567``` 568 569## Context.getCacheDir 570 571getCacheDir(): Promise\<string> 572 573获取该应用程序的内部存储目录(Promise形式)。 574 575**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 576 577**返回值:** 578 579| 类型 | 说明 | 580| --------------- | ------------------------- | 581| Promise\<string> | 获取该应用程序的内部存储目录 | 582 583**示例:** 584 585```js 586import featureAbility from '@ohos.ability.featureAbility' 587var context = featureAbility.getContext(); 588context.getCacheDir().then((data) => { 589 console.info("======================>getCacheDirPromsie====================>"); 590 console.info("====>data====>" + JSON.stringify(data)); 591}); 592``` 593 594## Context.getFilesDir 595 596getFilesDir(callback: AsyncCallback\<string>): void 597 598获取内部存储器上此应用程序的文件目录(callback形式)。 599 600**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 601 602**参数:** 603 604| 名称 | 类型 | 必填 | 描述 | 605| -------- | ---------------------- | ---- | ------------------------- | 606| callback | AsyncCallback\<string> | 是 | 返回内部存储器上此应用程序的文件目录。| 607 608**示例:** 609 610```js 611import featureAbility from '@ohos.ability.featureAbility' 612var context = featureAbility.getFilesDir(); 613context.getFilesDir((err, data) => { 614 if (err) { 615 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 616 return; 617 } 618 console.info('Operation successful. Data:' + JSON.stringify(data)); 619}); 620``` 621 622## Context.getFilesDir 623 624getFilesDir(): Promise\<string> 625 626获取内部存储器上此应用程序的文件目录(Promise形式)。 627 628**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 629 630**返回值:** 631 632| 类型 | 说明 | 633| --------------- | ------------------------- | 634| Promise\<string> | 返回内部存储器上此应用程序的文件目录。 | 635 636**示例:** 637 638```js 639import featureAbility from '@ohos.ability.featureAbility' 640var context = featureAbility.getContext(); 641context.getFilesDir().then((data) => { 642 console.info("======================>getFilesDirPromsie====================>"); 643 console.info("====>data====>" + JSON.stringify(data)); 644}); 645``` 646 647## Context.getOrCreateDistributedDir 648 649getOrCreateDistributedDir(callback: AsyncCallback\<string>): void 650 651获取Ability或应用的分布式文件路径。 652 653如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(callback形式)。 654 655**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 656 657**参数:** 658 659| 名称 | 类型 | 必填 | 描述 | 660| -------- | ---------------------- | ---- | ------------------------- | 661| callback | AsyncCallback\<string> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回Ability或应用的分布式文件路径。如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径。| 662 663**示例:** 664 665```js 666import featureAbility from '@ohos.ability.featureAbility' 667var context = featureAbility.getContext(); 668context.getOrCreateDistributedDir((err, data) => { 669 if (err) { 670 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 671 return; 672 } 673 console.info('Operation successful. Data:' + JSON.stringify(data)); 674}); 675``` 676 677## Context.getOrCreateDistributedDir 678 679getOrCreateDistributedDir(): Promise\<string> 680 681获取Ability或应用的分布式文件路径。 682 683如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(Promise形式)。 684 685**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 686 687**返回值:** 688 689| 类型 | 说明 | 690| --------------- | ------------------------- | 691| Promise\<string> | Ability或应用的分布式文件路径。如果是第一次调用,则将创建目录。 | 692 693**示例:** 694 695```js 696import featureAbility from '@ohos.ability.featureAbility' 697var context = featureAbility.getContext(); 698context.getOrCreateDistributedDir().then((data) => { 699 console.info("====>data====>" + JSON.stringify(data)); 700}); 701``` 702 703## Context.getAppType 704 705getAppType(callback: AsyncCallback\<string>): void 706 707获取此应用的类型(callback形式)。 708 709**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 710 711**参数:** 712 713| 名称 | 类型 | 必填 | 描述 | 714| -------- | ---------------------- | ---- | ------------------------- | 715| callback | AsyncCallback\<string> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回此应用程序的类型。| 716 717**示例:** 718 719```js 720import featureAbility from '@ohos.ability.featureAbility' 721var context = featureAbility.getContext(); 722context.getAppType((err, data) => { 723 if (err) { 724 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 725 return; 726 } 727 console.info('Operation successful. Data:' + JSON.stringify(data)); 728}); 729``` 730 731## Context.getAppType 732 733getAppType(): Promise\<string> 734 735获取此应用的类型(Promise形式)。 736 737**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 738 739**返回值:** 740 741| 类型 | 说明 | 742| --------------- | ------------------------- | 743| Promise\<string> | Promise形式返回此应用的类型。 | 744 745**示例:** 746 747```js 748import featureAbility from '@ohos.ability.featureAbility' 749var context = featureAbility.getContext(); 750context.getAppType().then((data) => { 751 console.info("====>data====>" + JSON.stringify(data)); 752}); 753``` 754 755## Context.getHapModuleInfo 756 757getHapModuleInfo(callback: AsyncCallback\<HapModuleInfo>): void 758 759获取应用的ModuleInfo对象(callback形式)。 760 761**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 762 763**参数:** 764 765| 名称 | 类型 | 必填 | 描述 | 766| -------- | ---------------------- | ---- | ------------------------- | 767| callback | AsyncCallback\<[HapModuleInfo](#hapmoduleinfo)> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回应用的ModuleInfo对象。| 768 769**示例:** 770 771```js 772import featureAbility from '@ohos.ability.featureAbility' 773var context = featureAbility.getContext(); 774context.getHapModuleInfo((err, data) => { 775 if (err) { 776 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 777 return; 778 } 779 console.info('Operation successful. Data:' + JSON.stringify(data)); 780}); 781``` 782 783## Context.getHapModuleInfo 784 785getHapModuleInfo(): Promise\<HapModuleInfo> 786 787获取应用的ModuleInfo对象(Promise形式)。 788 789**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 790 791**返回值:** 792 793| 类型 | 说明 | 794| --------------- | ------------------------- | 795| Promise\<[HapModuleInfo](#hapmoduleinfo)> | Promise形式返回应用的ModuleInfo对象。 | 796 797**示例:** 798 799```js 800import featureAbility from '@ohos.ability.featureAbility' 801var context = featureAbility.getContext(); 802context.getHapModuleInfo().then((data) => { 803 console.info("====>data====>" + JSON.stringify(data)); 804}); 805``` 806 807## Context.getAppVersionInfo 808 809getAppVersionInfo(callback: AsyncCallback\<HapModuleInfo>): void 810 811获取应用的版本信息(callback形式)。 812 813**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 814 815**参数:** 816 817| 名称 | 类型 | 必填 | 描述 | 818| -------- | ---------------------- | ---- | ------------------------- | 819| callback | AsyncCallback\<[AppVersionInfo](#appversioninfo)> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回应用版本信息。| 820 821**示例:** 822 823```js 824import featureAbility from '@ohos.ability.featureAbility' 825var context = featureAbility.getContext(); 826context.getAppVersionInfo((err, data) => { 827 if (err) { 828 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 829 return; 830 } 831 console.info('Operation successful. Data:' + JSON.stringify(data)); 832}); 833``` 834 835## Context.getAppVersionInfo 836 837getAppVersionInfo(): Promise\<AppVersionInfo> 838 839获取应用的版本信息(Promise形式)。 840 841**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 842 843**返回值:** 844 845| 类型 | 说明 | 846| --------------- | ------------------------- | 847| Promise\<[AppVersionInfo](#appversioninfo)> | 返回应用版本信息。 | 848 849**示例:** 850 851```js 852import featureAbility from '@ohos.ability.featureAbility' 853var context = featureAbility.getContext(); 854context.getAppVersionInfo().then((data) => { 855 console.info("====>data====>" + JSON.stringify(data)); 856}); 857``` 858 859## Context.getAbilityInfo 860 861getAbilityInfo(callback: AsyncCallback\<AbilityInfo>): void 862 863查询当前归属Ability详细信息(callback形式)。 864 865**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 866 867**参数:** 868 869| 名称 | 类型 | 必填 | 描述 | 870| -------- | ---------------------- | ---- | ------------------------- | 871| callback | AsyncCallback\<[AbilityInfo](#abilityInfo)> | 是 |回调函数,可以在回调函数中处理接口返回值,返回当前归属Ability详细信息。| 872 873**示例:** 874 875```js 876import featureAbility from '@ohos.ability.featureAbility' 877var context = featureAbility.getContext(); 878context.getAbilityInfo((err, data) => { 879 if (err) { 880 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 881 return; 882 } 883 console.info('Operation successful. Data:' + JSON.stringify(data)); 884}); 885``` 886 887## Context.getAbilityInfo 888 889getAbilityInfo(): Promise\<AbilityInfo> 890 891查询当前归属Ability详细信息(Promise形式)。 892 893**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 894 895**返回值:** 896 897| 类型 | 说明 | 898| --------------- | ------------------------- | 899| Promise\<[AbilityInfo](#abilityInfo)> | 返回当前归属Ability详细信息。 | 900 901**示例:** 902 903```js 904import featureAbility from '@ohos.ability.featureAbility' 905var context = featureAbility.getContext(); 906context.getAbilityInfo().then((data) => { 907 console.info("====>data====>" + JSON.stringify(data)); 908}); 909``` 910 911## Context.getApplicationContext 912 913getApplicationContext(): Context 914 915获取应用上下文信息。 916 917**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 918 919**返回值:** 920 921| 类型 | 说明 | 922| --------- |------ | 923| Context |返回应用上下文信息。 | 924 925**示例:** 926 927```js 928import featureAbility from '@ohos.ability.featureAbility' 929var context = featureAbility.getContext().getApplicationContext(); 930``` 931 932## Context.getExternalCacheDir 933 934getExternalCacheDir(callback: AsyncCallback\<string>): void 935 936获取应用程序的外部缓存目录(callback形式)。 937 938**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 939 940**参数:** 941 942| 名称 | 类型 | 必填 | 描述 | 943| -------- | ---------------------- | ---- | ------------------ | 944| callback | AsyncCallback\<string> | 是 | 返回应用程序的缓存目录的绝对路径。 | 945 946**示例:** 947 948```js 949import featureAbility from '@ohos.ability.featureAbility' 950var context = featureAbility.getContext(); 951context.getExternalCacheDir() 952``` 953 954## Context.getExternalCacheDir 955 956getExternalCacheDir(): Promise\<string>; 957 958获取应用程序的外部缓存目录(Promise形式)。 959 960**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 961 962**返回值:** 963 964| 类型 | 说明 | 965| ---------------- | ---------------- | 966| Promise\<string> | 返回应用程序的缓存目录的绝对路径。 | 967 968**示例:** 969 970```js 971import featureAbility from '@ohos.ability.featureAbility' 972var context = featureAbility.getContext(); 973context.getExternalCacheDir().then((data) => { 974 console.info("=======================>getExternalCacheDirCallback====================>"); 975 console.info("====>data====>" + JSON.stringify(data)); 976}); 977``` 978 979## PermissionOptions 980 981**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 982 983| 名称 | 读写属性 | 类型 | 必填 | 描述 | 984| ---- | -------- | ------ | ---- | ------ | 985| pid | 只读 | number | 否 | 进程id。 | 986| uid | 只读 | number | 否 | 用户id。 | 987 988## PermissionRequestResult 989 990**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 991 992| 名称 | 读写属性 | 类型 | 必填 | 描述 | 993| ----------- | -------- | -------------- | ---- | ------------------ | 994| requestCode | 只读 | number | 是 | 用户传入的请求代码。 | 995| permissions | 只读 | Array\<string> | 是 | 用户传入的权限。 | 996| authResults | 只读 | Array\<number> | 是 | 请求权限的结果。 | 997 998## HapModuleInfo 999 1000Hap模块信息 1001 1002| 名称 | 类型 | 可读 | 可写 | 说明 | 1003| ------ | ------ | ------ | ------ | ------ | 1004| name | string | 是 | 否 | 模块名称 | 1005| description | string | 是 | 否 | 模块描述信息 | 1006| descriptionId | number | 是 | 否 | 描述信息ID | 1007| icon | string | 是 | 否 | 模块图标 | 1008| label | string | 是 | 否 | 模块标签 | 1009| labelId | number | 是 | 否 | 模块标签ID | 1010| iconId | number | 是 | 否 | 模块图标ID | 1011| backgroundImg | string | 是 | 否 | 模块背景图片 | 1012| supportedModes | number | 是 | 否 | 模块支持的模式 | 1013| reqCapabilities | Array\<string> | 是 | 否 | 模块运行需要的能力 | 1014| deviceTypes | Array\<string> | 是 | 否 | 支持运行的设备类型 | 1015| abilityInfo | Array\<AbilityInfo> | 是 | 否 | Ability信息 | 1016| moduleName | string | 是 | 否 | 模块名 | 1017| mainAbilityName | string | 是 | 否 | 入口Ability名称 | 1018| installationFree | boolean | 是 | 否 | 是否支持免安装 | 1019| mainElementName | string | 是 | 否 | 入口ability信息 | 1020 1021## AppVersionInfo 1022 1023| 名称 | 类型 | 可读 | 可写 | 说明 | 1024| ------ | ------ | ------| ------ | ------ | 1025| appName | string | 是 | 否 | 模块名称 | 1026| versionCode | number | 是 | 否 | 模块描述信息 | 1027| versionName | string | 是 | 否 | 描述信息ID | 1028