1# ExtensionAbilityInfo 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9The module defines the ExtensionAbility information. An application can obtain its own ExtensionAbility information through [bundleManager.getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself), with **GET_BUNDLE_INFO_WITH_HAP_MODULE** and **GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY** passed in to [bundleFlags](js-apis-bundleManager.md#bundleflag). 10 11> **NOTE** 12> 13> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 14 15## Modules to Import 16 17```ts 18import { bundleManager } from '@kit.AbilityKit'; 19``` 20 21## ExtensionAbilityInfo 22 23**Atomic service API**: This API can be used in atomic services since API version 11. 24 25**System capability**: SystemCapability.BundleManager.BundleFramework.Core 26 27| Name | Type | Read-Only| Optional| Description | 28| -------------------- | ------------------------------------------------------------ | ---- | ---- | ---------------------------------------------------- | 29| bundleName | string | Yes | No | Bundle name. | 30| moduleName | string | Yes | No | Name of the HAP file to which the ExtensionAbility belongs. | 31| name | string | Yes | No | Name of the ExtensionAbility. | 32| labelId | number | Yes | No | ID of the ExtensionAbility label. | 33| descriptionId | number | Yes | No | ID of the ExtensionAbility description. | 34| iconId | number | Yes | No | ID of the ExtensionAbility icon. | 35| exported | boolean | Yes | No | Whether the ExtensionAbility can be called by other applications. **true** if the ExtensionAbility can be called by other applications, **false** otherwise. | 36| extensionAbilityType | [ExtensionAbilityType](js-apis-bundleManager.md#extensionabilitytype) | Yes | No | Type of the ExtensionAbility. | 37| permissions | Array\<string> | Yes | No | Permissions required for other bundles to call the ExtensionAbility.| 38| applicationInfo | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | Yes | No | Application information. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_HAP_MODULE**, **GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY**, and **GET_BUNDLE_INFO_WITH_APPLICATION** to the **bundleFlags** parameter of [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 39| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | Yes | No | Metadata of the ExtensionAbility. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_HAP_MODULE**, **GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY**, and **GET_BUNDLE_INFO_WITH_METADATA** to the **bundleFlags** parameter of [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).| 40| enabled | boolean | Yes | No | Whether the ExtensionAbility is enabled. **true** if enabled, **false** otherwise. | 41| readPermission | string | Yes | No | Permission required for reading data from the ExtensionAbility. | 42| writePermission | string | Yes | No | Permission required for writing data to the ExtensionAbility. | 43| extensionAbilityTypeName<sup>11+</sup> | string | Yes | No | Type of the ExtensionAbility. For details about available values, see [the type field under the extensionabilities tag](../../quick-start/module-configuration-file.md#extensionabilities). | 44| skills<sup>12+</sup> | Array\<[Skill](js-apis-bundleManager-skill.md)> | Yes | No | Skills of the ExtensionAbility. | 45| appIndex<sup>12+</sup> | number | Yes | No | Index of an application clone. It takes effect only for cloned applications.| 46