# Bundle Module (JavaScript SDK APIs) > **NOTE**
> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. > API version 9 is a canary version for trial use. The APIs of this version may be unstable. ## Modules to Import ``` import bundle from '@ohos.bundle'; ``` ## System Capability SystemCapability.BundleManager.BundleFramework ## Required Permissions | Required Permissions | Permission Level | Description | | ---------------------------------------- | ------------ | --------- | | ohos.permission.GET_BUNDLE_INFO | normal | Permission to query information about the current application.| | ohos.permission.GET_BUNDLE_INFO_PRIVILEGED| system_basic | Permission to query information about all applications.| | ohos.permission.INSTALL_BUNDLE | system_core | Permission to install or uninstall applications. | ## bundle.getApplicationInfo getApplicationInfo(bundleName: string, bundleFlags: number, userId?: number): Promise\ Obtains the application information based on a given bundle name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | --------------------------------------- | | bundleName | string | Yes | Bundle name of the application. | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | **Return value** | Type | Description | | ------------------------- | ------------------ | | Promise\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | Promise used to return the application information.| **Example** ```js let bundleName = "com.example.myapplication"; let bundleFlags = 0; let userId = 100; bundle.getApplicationInfo(bundleName, bundleFlags, userId) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getApplicationInfo getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback\): void Obtains the application information based on a given bundle name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------------------------- | ---- | --------------------------------------- | | bundleName | string | Yes | Bundle name of the application. | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | | callback | AsyncCallback\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | Yes | Callback used to return the application information. | **Example** ```js let bundleName = "com.example.myapplication"; let bundleFlags = 0; let userId = 100; bundle.getApplicationInfo(bundleName, bundleFlags, userId, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getApplicationInfo getApplicationInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\): void Obtains the application information based on a given bundle name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------------------------- | ---- | --------------------------------------- | | bundleName | string | Yes | Bundle name of the application. | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | callback | AsyncCallback\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | Yes | Callback used to return the application information. | **Example** ```js let bundleName = "com.example.myapplication"; let bundleFlags = 0; bundle.getApplicationInfo(bundleName, bundleFlags, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAllBundleInfo getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise> Obtains the information of all available bundles of a specified user in the system. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---------- | ---------- | ---- | --------------------------------------- | | bundleFlag | BundleFlag | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | **Return value** | Type | Description | | --------------------------- | -------------------------- | | Promise> | Promise used to return the information of all available bundles.| **Example** ```js let bundleFlag = 0; let userId = 100; bundle.getAllBundleInfo(bundleFlag, userId) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAllBundleInfo getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback>): void Obtains the information of all available bundles in the system. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---------- | --------------------------------- | ---- | --------------------------------------- | | bundleFlag | BundleFlag | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | callback | AsyncCallback> | Yes | Callback used to return the information of all available bundles. | **Example** ```js let bundleFlag = 0; bundle.getAllBundleInfo(bundleFlag, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAllBundleInfo getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback>): void Obtains the information of all available bundles in the system. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---------- | --------------------------------- | ---- | --------------------------------------- | | bundleFlag | BundleFlag | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | | callback | AsyncCallback> | Yes | Callback used to return the information of all available bundles. | **Example** ```js let bundleFlag = 0; let userId = 100; bundle.getAllBundleInfo(bundleFlag, userId, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getBundleInfo getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions): Promise\ Obtains the bundle information based on a given bundle name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------- | ---- | --------------------------------------- | | bundleName | string | Yes | Bundle name of the application. | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | options | [BundleOptions](#bundleoptions) | No | Includes **userId**. | **Return value** | Type | Description | | -------------------- | ---------------------------- | | Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | Promise used to return the bundle information.| **Example** ```js let bundleName = "com.example.myapplication"; let bundleFlags = 1; let options = { "userId" : 100 }; bundle.getBundleInfo(bundleName, bundleFlags, options) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getBundleInfo getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\): void Obtains the bundle information based on a given bundle name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------- | ---- | --------------------------------------- | | bundleName | string | Yes | Bundle name of the application. | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | callback | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | Yes | Callback used to return the bundle information. | **Example** ```js let bundleName = "com.example.myapplication"; let bundleFlags = 1; bundle.getBundleInfo(bundleName, bundleFlags, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getBundleInfo getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, callback: AsyncCallback\): void Obtains the bundle information based on a given bundle name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------- | ---- | --------------------------------------- | | bundleName | string | Yes | Bundle name of the application. | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | options | [BundleOptions](#bundleoptions) | Yes | Includes **userId**. | | callback | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | Yes | Callback used to return the bundle information. | **Example** ```js let bundleName = "com.example.myapplication"; let bundleFlags = 1; let options = { "userId" : 100 }; bundle.getBundleInfo(bundleName, bundleFlags, options, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAllApplicationInfo getAllApplicationInfo(bundleFlags: number, userId?: number): Promise> Obtains the information about all applications of the specified user. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | --------------------------------------- | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | **Return value** | Type | Description | | -------------------------------- | ------------------------------- | | Promise> | Promise used to return the application information.| **Example** ```js let bundleFlags = 8; let userId = 100; bundle.getAllApplicationInfo(bundleFlags, userId) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAllApplicationInfo getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback>): void Obtains the information about all applications of the specified user. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------------------- | ---- | --------------------------------------- | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | | callback | AsyncCallback> | Yes | Callback used to return the application information. | **Example** ```js let bundleFlags = 8; let userId = 100; bundle.getAllApplicationInfo(bundleFlags, userId, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAllApplicationInfo getAllApplicationInfo(bundleFlags: number, callback: AsyncCallback>) : void; Obtains the information about all applications. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | -------------------------------------- | ---- | --------------------------------------- | | bundleFlags | number | Yes | Type of information that will be returned. The default value is **0**. The value must be greater than or equal to 0.| | callback | AsyncCallback> | Yes | Callback used to return the application information. | **Example** ```js let bundleFlags = 8; bundle.getAllApplicationInfo(bundleFlags, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAbilityInfo getAbilityInfo(bundleName: string, abilityName: string): Promise\ Obtains the ability information based on a given bundle name and ability name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | abilityName | string | Yes | Ability name.| **Return value** | Type | Description | | --------------------- | --------------------- | | Promise\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | Promise used to return the ability information.| **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityInfo(bundleName, abilityName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAbilityInfo getAbilityInfo(bundleName: string, abilityName: string, callback: AsyncCallback\): void; Obtains the ability information based on a given bundle name and ability name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------ | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | abilityName | string | Yes | Ability name.| | callback | AsyncCallback\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | Yes | Callback used to return the ability information.| **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityInfo(bundleName, abilityName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAbilityInfo9+ getAbilityInfo(bundleName: string, moduleName: string, abilityName: string): Promise\ Obtains the ability information based on a given bundle name, module name, and ability name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | moduleName | string | Yes | Module name of the application. | | abilityName | string | Yes | Ability name.| **Return value** | Type | Description | | --------------------- | --------------------- | | Promise\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | Promise used to return the ability information.| **Example** ```js let bundleName = "com.example.myapplication"; let moduleName = "entry"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityInfo(bundleName, moduleName, abilityName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAbilityInfo9+ getAbilityInfo(bundleName: string, moduleName: string, abilityName: string, callback: AsyncCallback\): void; Obtains the ability information based on a given bundle name, module name, and ability name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------------ | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | moduleName | string | Yes | Module name of the application. | | abilityName | string | Yes | Ability name.| | callback | AsyncCallback\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | Yes | Callback used to return the ability information.| **Example** ```js let bundleName = "com.example.myapplication"; let moduleName = "entry"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityInfo(bundleName, moduleName, abilityName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAbilityLabel8+ getAbilityLabel(bundleName: string, abilityName: string): Promise\ Obtains the application name based on a given bundle name and ability name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | abilityName | string | Yes | Ability name.| **Return value** | Type | Description | | ---------------- | ------------------ | | Promise\ | Promise used to return the application name.| **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityLabel(bundleName, abilityName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAbilityLabel8+ getAbilityLabel(bundleName: string, abilityName: string, callback : AsyncCallback\): void Obtains the application name based on a given bundle name and ability name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------- | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | abilityName | string | Yes | Ability name.| | callback | AsyncCallback\ | Yes | Callback used to return the application name. | **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityLabel(bundleName, abilityName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAbilityLabel9+ getAbilityLabel(bundleName: string, moduleName: string, abilityName: string): Promise\ Obtains the application name based on a given bundle name, module name, and ability name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | moduleName | string | Yes | Module name of the application. | | abilityName | string | Yes | Ability name.| **Return value** | Type | Description | | ---------------- | ------------------ | | Promise\ | Promise used to return the application name.| **Example** ```js let bundleName = "com.example.myapplication"; let moduleName = "entry"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityLabel(bundleName, moduleName, abilityName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAbilityLabel9+ getAbilityLabel(bundleName: string, moduleName: string, abilityName: string, callback : AsyncCallback\): void Obtains the application name based on a given bundle name, module name, and ability name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------- | ---- | ---------------- | | bundleName | string | Yes | Bundle name of the application. | | moduleName | string | Yes | Module name of the application. | | abilityName | string | Yes | Ability name.| | callback | AsyncCallback\ | Yes | Callback used to return the application name. | **Example** ```js let bundleName = "com.example.myapplication"; let moduleName = "entry"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityLabel(bundleName, moduleName, abilityName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.isAbilityEnabled8+ isAbilityEnabled(info: AbilityInfo): Promise\ Checks whether the ability that matches a given **AbilityInfo** object is enabled. This API uses a promise to return the result. **Required permissions** None **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---- | ----------- | ---- | ------------ | | info | [AbilityInfo](js-apis-bundle-AbilityInfo.md) | Yes | Ability information.| **Return value** | Type | Description | | ----------------- | ------------------------- | | Promise\ | Promise used to return whether the ability is enabled. If the ability is enabled, **true** will be returned; otherwise, **false** will be returned.| **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityInfo(bundleName, abilityName).then((abilityInfo)=>{ bundle.isAbilityEnabled(abilityInfo).then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) }) ``` ## bundle.isAbilityEnabled8+ isAbilityEnabled(info : AbilityInfo, callback : AsyncCallback\): void Checks whether the ability that matches a given **AbilityInfo** object is enabled. This API uses an asynchronous callback to return the result. **Required permissions** None **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | -------- | ----------------------- | ---- | --------------- | | info | [AbilityInfo](js-apis-bundle-AbilityInfo.md) | Yes | Ability information. | | callback | AsyncCallback\ | Yes | Callback used to return whether the ability is enabled. If the ability is enabled, **true** will be returned; otherwise, **false** will be returned.| **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityInfo(bundleName, abilityName).then((abilityInfo)=>{ bundle.isAbilityEnabled(abilityInfo, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) }) ``` ## bundle.isApplicationEnabled8+ isApplicationEnabled(bundleName: string): Promise\ Checks whether an application is enabled based on a given bundle name. This API uses a promise to return the result. **Required permissions** None **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---------- | ------ | ---- | ------------ | | bundleName | string | Yes | Bundle name of the application.| **Return value** | Type | Description | | ----------------- | ------------------------- | | Promise\ | Promise used to return whether the ability is enabled. If the ability is enabled, **true** will be returned; otherwise, **false** will be returned.| **Example** ```js let bundleName = "com.example.myapplication"; bundle.isApplicationEnabled(bundleName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.isApplicationEnabled8+ isApplicationEnabled(bundleName: string, callback : AsyncCallback\): void Checks whether an application is enabled based on a given bundle name. This API uses an asynchronous callback to return the result. **Required permissions** None **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---------- | ----------------------- | ---- | --------------- | | bundleName | string | Yes | Bundle name of the application. | | callback | AsyncCallback\ | Yes | Callback used to return whether the ability is enabled. If the ability is enabled, **true** will be returned; otherwise, **false** will be returned.| **Example** ```js let bundleName = "com.example.myapplication"; bundle.isApplicationEnabled(bundleName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.queryAbilityByWant queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise> Obtains the ability information based on a given want. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ------ | ---- | ------------------------------------- | | want | [Want](js-apis-application-Want.md) | Yes | Want that contains the bundle name. | | bundleFlags | number | Yes | Ability information to be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | **Return value** | Type | Description | | ---------------------------- | --------------------- | | Promise> | Promise used to return the ability information.| **Example** ```js let bundleFlags = 0; let userId = 100; let want = { bundleName : "com.example.myapplication", abilityName : "com.example.myapplication.MainAbility" }; bundle.queryAbilityByWant(want, bundleFlags, userId) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.queryAbilityByWant queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback\>): void Obtains the ability information based on a given want. This API uses an asynchronous callback to return the result. **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------------- | ---- | ------------------------------------- | | want | [Want](js-apis-application-Want.md) | Yes | Want that contains the bundle name. | | bundleFlags | number | Yes | Ability information to be returned. The default value is **0**. The value must be greater than or equal to 0.| | userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | | callback | AsyncCallback> | Yes | Callback used to return the ability information. | **Example** ```js let bundleFlags = 0; let userId = 100; let want = { bundleName : "com.example.myapplication", abilityName : "com.example.myapplication.MainAbility" }; bundle.queryAbilityByWant(want, bundleFlags, userId, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.queryAbilityByWant queryAbilityByWant(want: Want, bundleFlags: number, callback: AsyncCallback>): void; Obtains the ability information based on a given want. This API uses an asynchronous callback to return the result. **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------------- | ---- | ------------------------------------- | | want | [Want](js-apis-application-Want.md) | Yes | Want that contains the bundle name. | | bundleFlags | number | Yes | Ability information to be returned. The default value is **0**. The value must be greater than or equal to 0.| | callback | AsyncCallback> | Yes | Callback used to return the ability information. | **Example** ```js let bundleFlags = 0; let want = { bundleName : "com.example.myapplication", abilityName : "com.example.myapplication.MainAbility" }; bundle.queryAbilityByWant(want, bundleFlags, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getLaunchWantForBundle getLaunchWantForBundle(bundleName: string): Promise\ Obtains the **Want** object that launches the specified application. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---------- | ------ | ---- | ------------ | | bundleName | string | Yes | Bundle name of the application.| **Return value** | Type | Description | | -------------- | -------------------------------------- | | Promise\<[Want](js-apis-application-Want.md)> | Promise used to return the **Want** object.| **Example** ```js let bundleName = "com.example.myapplication"; bundle.getLaunchWantForBundle(bundleName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getLaunchWantForBundle getLaunchWantForBundle(bundleName: string, callback: AsyncCallback\): void; Obtains the **Want** object that launches the specified application. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---------- | -------------------- | ---- | ------------------------------ | | bundleName | string | Yes | Bundle name of the application. | | callback | AsyncCallback\<[Want](js-apis-application-Want.md)> | Yes | Callback used to return the **Want** object.| **Example** ```js let bundleName = "com.example.myapplication"; bundle.getLaunchWantForBundle(bundleName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getNameForUid8+ getNameForUid(uid: number): Promise\ Obtains the bundle name based on a UID. This API uses a promise to return the result. **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ---- | ------ | ---- | -------- | | uid | number | Yes | UID based on which the bundle name is to obtain.| **Return value** | Type | Description | | ---------------- | --------------------------------- | | Promise\ | Promise used to return the bundle name.| **Example** ```js let uid = 20010005; bundle.getNameForUid(uid) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getNameForUid8+ getNameForUid(uid: number, callback: AsyncCallback\) : void Obtains the bundle name based on a UID. This API uses an asynchronous callback to return the result. **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------- | ---- | ------------------------- | | uid | number | Yes | UID based on which the bundle name is to obtain. | | callback | AsyncCallback\ | Yes | Callback used to return the bundle name.| **Example** ```js let uid = 20010005; bundle.getNameForUid(uid, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAbilityIcon8+ getAbilityIcon(bundleName: string, abilityName: string): Promise\; Obtains the [PixelMap](js-apis-image.md) of the icon corresponding to a given bundle name and ability name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------------------- | ---- | ---------------------------------------- | | bundleName | string | Yes | Bundle name based on which the pixel map is to obtain. | | abilityName | string | Yes | Ability name based on which the pixel map is to obtain. | **Return value** | Type | Description | | --------------------- | ------------------------------------------------------------ | | Promise\ | Promise used to return the [PixelMap](js-apis-image.md). | **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityIcon(bundleName, abilityName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAbilityIcon8+ getAbilityIcon(bundleName: string, abilityName: string, callback: AsyncCallback\): void; Obtains the [PixelMap](js-apis-image.md) of the icon corresponding to a given bundle name and ability name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------------------- | ---- | ---------------------------------------- | | bundleName | string | Yes | Bundle name based on which the pixel map is to obtain. | | abilityName | string | Yes | Ability name based on which the pixel map is to obtain. | | callback | AsyncCallback\ | Yes | Callback used to return the [PixelMap](js-apis-image.md). | **Example** ```js let bundleName = "com.example.myapplication"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityIcon(bundleName, abilityName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.getAbilityIcon9+ getAbilityIcon(bundleName: string, moduleName: string, abilityName: string): Promise\; Obtains the [PixelMap](js-apis-image.md) of the icon corresponding to a given bundle name, module name, and ability name. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------------------- | ---- | ---------------------------------------- | | bundleName | string | Yes | Bundle name based on which the pixel map is to obtain. | | moduleName | string | Yes | Module name based on which the pixel map is to obtain. | | abilityName | string | Yes | Ability name based on which the pixel map is to obtain. | **Return value** | Type | Description | | --------------------- | ------------------------------------------------------------ | | Promise\ | Promise used to return the [PixelMap](js-apis-image.md). | **Example** ```js let bundleName = "com.example.myapplication"; let moduleName = "entry"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityIcon(bundleName, moduleName, abilityName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.getAbilityIcon9+ getAbilityIcon(bundleName: string, moduleName: string, abilityName: string, callback: AsyncCallback\): void; Obtains the [PixelMap](js-apis-image.md) of the icon corresponding to a given bundle name, module name, and ability name. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | ----------- | ---------------------------------------- | ---- | ---------------------------------------- | | bundleName | string | Yes | Bundle name based on which the pixel map is to obtain. | | moduleName | string | Yes | Module name based on which the pixel map is to obtain. | | abilityName | string | Yes | Ability name based on which the pixel map is to obtain. | | callback | AsyncCallback\ | Yes | Callback used to return the [PixelMap](js-apis-image.md). | **Example** ```js let bundleName = "com.example.myapplication"; let moduleName = "entry"; let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityIcon(bundleName, moduleName, abilityName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` ## bundle.queryExtensionAbilityInfos9+ queryExtensionAbilityInfos(want: Want, extensionType: number, extensionFlags: number, userId?: number): Promise> Obtains the Extension ability information based on a given want. This API uses a promise to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | -------------- | ------ | ---- | ---------------------------------------- | | want | [Want](js-apis-application-Want.md) | Yes | Want that contains the bundle name. | | extensionType | number | Yes | Type of the Extension ability information to obtain. The default value is **0**. For details on the available enumerated values, see [ExtensionAbilityType](#ExtensionAbilityType9).| | extensionFlags | number | Yes | Extension ability information to be returned. The default value is **0**. For details on the available enumerated values, see [ExtensionFlags](#ExtensionFlag9).| | userId | number | No | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | **Return value** | Type | Description | | ------------------------------------- | ------------------------------ | | Promise> | Promise used to return the Extension ability information.| **Example** ```js let extensionType = 0; let extensionFlags = 0; let userId = 100; let want = { bundleName : "com.example.myapplication", abilityName : "com.example.myapplication.MainAbility" }; bundle.queryExtensionAbilityInfos(want, extensionType, extensionFlags, userId) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); }).catch((error) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }) ``` ## bundle.queryExtensionAbilityInfos9+ queryExtensionAbilityInfos(want: Want, extensionType: number, extensionFlags: number, userId: number, callback: AsyncCallback>): void Obtains the Extension ability information based on a given want. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory| Description | | -------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | want | [Want](js-apis-application-Want.md) | Yes | Want that contains the bundle name. | | extensionType | number | Yes | Type of the Extension ability information to obtain. The default value is **0**. For details on the available enumerated values, see [ExtensionAbilityType](#ExtensionAbilityType9).| | extensionFlags | number | Yes | Extension ability information to be returned. The default value is **0**. For details on the available enumerated values, see [ExtensionFlags](#ExtensionFlag9).| | userId | number | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0. | | callback | AsyncCallback> | Yes | Callback used to return the Extension ability information. | **Example** ```js let extensionType = 0; let extensionFlags = 0; let userId = 100; let want = { bundleName : "com.example.myapplication", abilityName : "com.example.myapplication.MainAbility" }; const receiver = function onReceive(err, data) { var errValue = JSON.stringify(err) var dataValue = JSON.stringify(data) console.error('Operation failed. Cause: ' + errValue); console.error('Operation failed. Cause: ' + dataValue); } bundle.queryExtensionAbilityInfos(want, extensionType, extensionFlags, userId, receiver) ``` ## bundle.queryExtensionAbilityInfos9+ queryExtensionAbilityInfos(want: Want, extensionType: number, extensionFlags: number, callback: AsyncCallback>): void; Obtains the Extension ability information based on a given want. This API uses an asynchronous callback to return the result. **Required permissions** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO **System capability** SystemCapability.BundleManager.BundleFramework **Parameters** | Name | Type | Mandatory | Description | | -------------- | ---------------------------------------- | ---- | ---------------------------------------- | | want | [Want](js-apis-application-Want.md) | Yes | Want that contains the bundle name. | | extensionType | number | Yes | Type of the Extension ability information to obtain. The default value is **0**. For details on the available enumerated values, see [ExtensionAbilityType](#ExtensionAbilityType9).| | extensionFlags | number | Yes | Extension ability information to be returned. The default value is **0**. For details on the available enumerated values, see [ExtensionFlags](#ExtensionFlag9).| | callback | AsyncCallback> | Yes | Callback used to return the Extension ability information. | **Example** ```js let extensionType = 0; let extensionFlags = 0; let want = { bundleName : "com.example.myapplication", abilityName : "com.example.myapplication.MainAbility" }; const receiver = function onReceive(err, data) { var errValue = JSON.stringify(err) var dataValue = JSON.stringify(data) console.error('Operation failed. Cause: ' + errValue); console.error('Operation failed. Cause: ' + dataValue); } bundle.queryExtensionAbilityInfos(want, extensionType, extensionFlags, receiver) ``` ## InstallErrorCode **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Default Value | Description | | ---------------------------------------- | ---- | ------------------------- | | SUCCESS | 0 | Installation succeeded. | | STATUS_INSTALL_FAILURE | 1 | Installation failed. (The application to be installed is not found.) | | STATUS_INSTALL_FAILURE_ABORTED | 2 | Installation aborted. | | STATUS_INSTALL_FAILURE_INVALID | 3 | Invalid installation parameter. | | STATUS_INSTALL_FAILURE_CONFLICT | 4 | Installation conflict. (The basic information of the application to update is inconsistent with that of the existing application.) | | STATUS_INSTALL_FAILURE_STORAGE | 5 | Failed to store the bundle information. | | STATUS_INSTALL_FAILURE_INCOMPATIBLE | 6 | Installation incompatibility. (A downgrade occurs or the signature information is incorrect.) | | STATUS_UNINSTALL_FAILURE | 7 | Uninstallation failed. (The application to be uninstalled is not found.) | | STATUS_UNINSTALL_FAILURE_BLOCKED | 8 | Uninstallation aborted. (This error code is not in use.) | | STATUS_UNINSTALL_FAILURE_ABORTED | 9 | Uninstallation aborted. (Invalid parameters.) | | STATUS_UNINSTALL_FAILURE_CONFLICT | 10 | Uninstallation conflict. (Failed to uninstall a system application or end the application process.)| | STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT | 0x0B | Installation failed. (Download timed out.) | | STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED | 0x0C | Installation failed. (Download failed.) | | STATUS_RECOVER_FAILURE_INVALID8+ | 0x0D | Failed to restore the pre-installed application. | | STATUS_ABILITY_NOT_FOUND | 0x40 | Ability not found. | | STATUS_BMS_SERVICE_ERROR | 0x41 | BMS service error. | | STATUS_FAILED_NO_SPACE_LEFT8+ | 0x42 | Insufficient device space. | | STATUS_GRANT_REQUEST_PERMISSIONS_FAILED8+ | 0x43 | Application authorization failed. | | STATUS_INSTALL_PERMISSION_DENIED8+ | 0x44 | Installation permission denied. | | STATUS_UNINSTALL_PERMISSION_DENIED8+ | 0x45 | Uninstallation permission denied. | ## BundleFlag Enumerates bundle flags. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Default Value | Description | | ---------------------------------------- | ---------- | ------------------- | | GET_BUNDLE_DEFAULT | 0x00000000 | Obtains the default application information. | | GET_BUNDLE_WITH_ABILITIES | 0x00000001 | Obtains the bundle information with the ability information. | | GET_ABILITY_INFO_WITH_PERMISSION | 0x00000002 | Obtains the ability information with the permission information. | | GET_ABILITY_INFO_WITH_APPLICATION | 0x00000004 | Obtains the ability information with the application information. | | GET_APPLICATION_INFO_WITH_PERMISSION | 0x00000008 | Obtains the application information with the permission information. | | GET_BUNDLE_WITH_REQUESTED_PERMISSION | 0x00000010 | Obtains the bundle information with the information about the required permissions. | | GET_ABILITY_INFO_WITH_METADATA8+ | 0x00000020 | Obtains the ability metadata information. | | GET_BUNDLE_WITH_EXTENSION_ABILITY9+ | 0x00000020 | Obtains the bundle information with the Extension ability information.| | GET_APPLICATION_INFO_WITH_METADATA8+ | 0x00000040 | Obtains the application metadata information. | | GET_ABILITY_INFO_SYSTEMAPP_ONLY8+ | 0x00000080 | Obtains the ability information of system applications.| | GET_ABILITY_INFO_WITH_DISABLE8+ | 0x00000100 | Obtains information about disabled abilities. | | GET_APPLICATION_INFO_WITH_DISABLE8+ | 0x00000200 | Obtains information about disabled applications. | | GET_ALL_APPLICATION_INFO | 0xFFFF0000 | Obtains all application information. | ## BundleOptions Describes the bundle options. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Readable | Writable | Description | | ------ | ------ | ---- | ---- | ---------------------------- | | userId | number | Yes | Yes | User ID. The default value is the user ID of the caller. The value must be greater than or equal to 0.| ## AbilityType Enumerates ability types. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Description | | ------- | ---- | ----------------- | | UNKNOWN | None | Unknown ability type. | | PAGE | None | Ability that has a UI. | | SERVICE | None | Ability that does not have a UI. | | DATA | None | Ability that is used to provide data access services.| ## DisplayOrientation Enumerates display orientations. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Description | | ------------- | ---- | ------------- | | UNSPECIFIED | None | The system automatically determines the display orientation. | | LANDSCAPE | None | Landscape orientation. | | PORTRAIT | None | Portrait orientation. | | FOLLOW_RECENT | None | The page ability orientation is the same as that of the nearest ability in the stack.| ## LaunchMode Enumerates launch modes. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Description | | --------- | ---- | ------------- | | SINGLETON | 0 | The ability has only one instance.| | STANDARD | 1 | The ability can have multiple instances. | ## AbilitySubType Enumerates ability subtypes. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Description | | ----------- | ---- | -------------------- | | UNSPECIFIED | 0 | Undefined ability subtype. | | CA | 1 | Ability that has a UI.| ## ExtensionAbilityType9+ Enumerates Extension ability types. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Description | | ------------------------------ | ---- | ------------------------- | | FORM9+ | 0 | Form included. | | WORK_SCHEDULER9+ | 1 | Work scheduler included.| | INPUT_METHOD9+ | 2 | Input method included. | | SERVICE9+ | 3 | Service included. | | ACCESSIBILITY9+ | 4 | Accessibility included. | | DATA_SHARE9+ | 5 | Data sharing included.| | FILE_SHARE9+ | 6 | File sharing included.| | STATIC_SUBSCRIBER9+ | 7 | Subscribers included. | | WALLPAPER9+ | 8 | Wallpaper included. | | BACKUP9+ | 9 | Data backup and restore included. | | UNSPECIFIED9+ | 20 | Unspecified type. | ## ExtensionFlag9+ Enumerates Extension flags. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Default Value | Description | | ---------------------------------------- | ---------- | ------------------------------ | | GET_EXTENSION_INFO_DEFAULT9+ | 0x00000000 | Obtains the default Extension ability information. | | GET_EXTENSION_INFO_WITH_PERMISSION9+ | 0x00000002 | Obtains the Extension ability information that carries permission information. | | GET_EXTENSION_INFO_WITH_APPLICATION9+ | 0x00000004 | Obtains the Extension ability information that carries application information. | | GET_EXTENSION_INFO_WITH_METADATA9+ | 0x00000020 | Obtains the Extension ability information that carries metadata information.| ## ColorMode Enumerates color modes. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Description | | ---------- | ---- | ---- | | AUTO_MODE | -1 | Automatic mode.| | DARK_MODE | 0 | Dark mode.| | LIGHT_MODE | 1 | Light mode.| ## GrantStatus Enumerates permission grant states. **System capability**: SystemCapability.BundleManager.BundleFramework | Name | Type | Description | | ------------------ | ---- | ---- | | PERMISSION_DENIED | -1 | Permission denied.| | PERMISSION_GRANTED | 0 | Permission granted. |