1# ExtensionAbilityInfo
2
3The **ExtensionAbilityInfo** module defines the ExtensionAbility information. A third-party 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).
4
5> **NOTE**
6>
7> 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.
8
9## ExtensionAbilityInfo
10
11**Atomic service API**: This API can be used in atomic services since API version 11.
12
13**System capability**: SystemCapability.BundleManager.BundleFramework.Core
14
15| Name                | Type                                                        | Read-Only| Optional| Description                                                |
16| -------------------- | ------------------------------------------------------------ | ---- | ---- | ---------------------------------------------------- |
17| bundleName           | string                                                       | Yes  | No  | Bundle name.                                    |
18| moduleName           | string                                                       | Yes  | No  | Name of the HAP file to which the ExtensionAbility belongs.                   |
19| name                 | string                                                       | Yes  | No  | Name of the ExtensionAbility.                              |
20| labelId              | number                                                       | Yes  | No  | ID of the ExtensionAbility label.                      |
21| descriptionId        | number                                                       | Yes  | No  | ID of the ExtensionAbility description.                      |
22| iconId               | number                                                       | Yes  | No  | ID of the ExtensionAbility icon.                      |
23| exported            | boolean                                                      | Yes  | No  | Whether the ExtensionAbility can be called by other bundles.        |
24| extensionAbilityType | [ExtensionAbilityType](js-apis-bundleManager.md#extensionabilitytype) | Yes  | No  | Type of the ExtensionAbility.                              |
25| permissions          | Array\<string>                                               | Yes  | No  | Permissions required for other bundles to call the ExtensionAbility.|
26| 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).|
27| 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).|
28| enabled              | boolean                                                      | Yes  | No  | Whether the ExtensionAbility is enabled.                          |
29| readPermission       | string                                                       | Yes  | No  | Permission required for reading data from the ExtensionAbility.                |
30| writePermission      | string                                                       | Yes  | No  | Permission required for writing data to the ExtensionAbility.                |
31| extensionAbilityTypeName<sup>11</sup>      | string                                 | Yes  | No  | Type of the ExtensionAbility.                |
32| skills<sup>12+</sup>             | Array\<[Skill](js-apis-bundleManager-skill.md)>                                                 | Yes  | No  | Skills of the ExtensionAbility.       |
33| appIndex<sup>12+</sup>    | number    | Yes  | No  | Index of an application clone. It takes effect only for cloned applications.|
34