1# AbilityInfo 2 3The **AbilityInfo** module defines the ability information. A third-party application can obtain its own ability information through [bundleManager.getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself), with **GET_BUNDLE_INFO_WITH_HAP_MODULE** and **GET_BUNDLE_INFO_WITH_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## AbilityInfo 10 11**System capability**: SystemCapability.BundleManager.BundleFramework.Core 12 13| Name | Type | Read-Only| Optional| Description | 14| --------------------- | -------------------------------------------------------- | ---- | ---- | ------------------------------------------ | 15| bundleName | string | Yes | No | Bundle name.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 16| moduleName | string | Yes | No | Name of the HAP file to which the ability belongs.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 17| name | string | Yes | No | Ability name.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 18| label | string | Yes | No | Resource descriptor of the ability name visible to users. Example: **"label": "$string: mainability_description"**.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 19| labelId | number | Yes | No | ID of the ability label.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 20| description | string | Yes | No | Ability description.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 21| descriptionId | number | Yes | No | ID of the ability description.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 22| icon | string | Yes | No | Resource descriptor of the ability icon. Example: **"icon": "$media:icon"**.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 23| iconId | number | Yes | No | ID of the ability icon.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 24| process | string | Yes | No | Process in which the ability runs. If this parameter is not set, the bundle name is used.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 25| exported | boolean | Yes | No | Whether the ability can be called by other bundles.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 26| type | [bundleManager.AbilityType](js-apis-bundleManager.md#abilitytype) | Yes | No | Ability type.<br>**Model restriction**: This API can be used only in the FA model.| 27| orientation | [bundleManager.DisplayOrientation](js-apis-bundleManager.md#displayorientation) | Yes | No | Ability display orientation.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 28| launchType | [bundleManager.LaunchType](js-apis-bundleManager.md#launchtype) | Yes | No | Ability launch mode.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 29| permissions | Array\<string> | Yes | No | Permissions required for other applications to call the ability.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 30| readPermission | string | Yes | No | Permission required for reading the ability data.<br>**Model restriction**: This API can be used only in the FA model.| 31| writePermission | string | Yes | No | Permission required for writing data to the ability.<br>**Model restriction**: This API can be used only in the FA model.| 32| uri | string | Yes | No | URI of the ability.<br>**Model restriction**: This API can be used only in the FA model.| 33| deviceTypes | Array\<string> | Yes | No | Device types supported by the ability.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 34| 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_ABILITY**, and **GET_BUNDLE_INFO_WITH_APPLICATION** to the **bundleFlags** parameter of [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 35| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | Yes | No | Metadata of the ability. The information can be obtained by passing in **GET_BUNDLE_INFO_WITH_HAP_MODULE**, **GET_BUNDLE_INFO_WITH_ABILITY**, and **GET_BUNDLE_INFO_WITH_METADATA** to the **bundleFlags** parameter of [getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself).<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 36| enabled | boolean | Yes | No | Whether the ability is enabled.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 37| supportWindowModes | Array\<[bundleManager.SupportWindowMode](js-apis-bundleManager.md#supportwindowmode)> | Yes | No | Window modes supported by the ability.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 38| windowSize|[WindowSize](#windowsize) | Yes | No | Window size.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 39| excludeFromDock<sup>12+</sup> | boolean | Yes | No | Whether the ability can hide icons in the dock area.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 40| skills<sup>12+</sup> | Array\<[Skill](js-apis-bundleManager-skill.md)> | Yes | No | Skills of the ability.<br>**Atomic service API**: This API can be used in atomic services since API version 12. | 41| appIndex<sup>12+</sup> | number | Yes | No | Index of an application clone. It takes effect only for cloned applications.| 42| orientationId<sup>14+</sup> | number | Yes | No | Resource ID of the ability display mode. If **orientationId** is not set to **0**, the current display mode is customized, and **orientationId** must be used to obtain the corresponding resource from the resource manager module.<br>**Atomic service API**: This API can be used in atomic services since API version 14.| 43 44## WindowSize 45 46Describes the window size. 47 48**Atomic service API**: This API can be used in atomic services since API version 11. 49 50**System capability**: SystemCapability.BundleManager.BundleFramework.Core 51 52| Name | Type | Read-Only| Optional| Description | 53| -------------------| ------- | ---- | ---- | ---------------------------------- | 54| maxWindowRatio | number | Yes | No | Maximum aspect ratio of the window in free window mode. The value ranges from 0 to 1.| 55| minWindowRatio | number | Yes | No | Minimum aspect ratio of the window in free window mode. The value ranges from 0 to 1.| 56| maxWindowWidth | number | Yes | No | Maximum width of the window in free window mode. The unit is vp.| 57| minWindowWidth | number | Yes | No | Minimum width of the window in free window mode. The unit is vp.| 58| maxWindowHeight | number | Yes | No | Maximum height of the window in free window mode. The unit is vp.| 59| minWindowHeight | number | Yes | No | Minimum height of the window in free window mode. The unit is vp.| 60