@ohos.bundle.bundleManager (Bundle Management Module) (System API)

The module provides APIs for obtaining application information, including BundleInfo, ApplicationInfo, AbilityInfo, and ExtensionAbilityInfo.

NOTE

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.

This topic describes only system APIs provided by the module. For details about its public APIs, see @ohos.bundle.bundleManager.

Modules to Import

import { bundleManager } from '@kit.AbilityKit';

BundleFlag

Enumerates the bundle flags, which indicate the type of bundle information to obtain. The table below describes only flags available in system APIs. For details about flags available in public APIs, see BundleFlag.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Name Value Description
GET_BUNDLE_INFO_ONLY_WITH_LAUNCHER_ABILITY12+ 0x00001000 Used to obtain the bundle information of the application that has only a home screen icon. It is valid only in the getAllBundleInfo API.
System API: This flag can be used only in system APIs.
GET_BUNDLE_INFO_OF_ANY_USER12+ 0x00002000 Used to obtain the bundle information of an application installed by any user. It must be used together with GET_BUNDLE_INFO_WITH_APPLICATION. It is valid only in the getBundleInfo and getAllBundleInfo APIs.
System API: This flag can be used only in system APIs.
GET_BUNDLE_INFO_EXCLUDE_CLONE12+ 0x00004000 Used to obtain the bundle information of a main application (excluding its clones). It is valid only in the getAllBundleInfo API.
System API: This flag can be used only in system APIs.
GET_BUNDLE_INFO_WITH_CLOUD_KIT20+ 0x00008000 Used to obtain the bundle information of an application that has device-cloud file synchronization or device-cloud structured data synchronization enabled. It is valid only in the getAllBundleInfo API.
System API: This flag can be used only in system APIs.

ApplicationFlag

Enumerates the application flags, which indicate the type of application information to obtain.

System capability: SystemCapability.BundleManager.BundleFramework.Core

System API: This is a system API.

Name Value Description
GET_APPLICATION_INFO_DEFAULT 0x00000000 Used to obtain the default application information. The obtained information does not contain the permission information or metadata.
GET_APPLICATION_INFO_WITH_PERMISSION 0x00000001 Used to obtain the application information with permission information.
GET_APPLICATION_INFO_WITH_METADATA 0x00000002 Used to obtain the application information with metadata.
GET_APPLICATION_INFO_WITH_DISABLE 0x00000004 Used to obtain the application information of disabled bundles.

AbilityFlag

Enumerates the ability flags, which indicate the type of ability information to obtain.

System capability: SystemCapability.BundleManager.BundleFramework.Core

System API: This is a system API.

Name Value Description
GET_ABILITY_INFO_DEFAULT 0x00000000 Used to obtain the default ability information. The obtained information does not contain the permission, metadata, or disabled ability information.
GET_ABILITY_INFO_WITH_PERMISSION 0x00000001 Used to obtain the ability information with permission information.
GET_ABILITY_INFO_WITH_APPLICATION 0x00000002 Used to obtain the ability information with application information.
GET_ABILITY_INFO_WITH_METADATA 0x00000004 Used to obtain the ability information with metadata.
GET_ABILITY_INFO_WITH_DISABLE 0x00000008 Used to obtain the ability information of disabled abilities.
GET_ABILITY_INFO_ONLY_SYSTEM_APP 0x00000010 Used to obtain the ability information of system applications.
GET_ABILITY_INFO_WITH_APP_LINKING12+ 0x00000040 Used to obtain the ability information filtered by domain name verification.
GET_ABILITY_INFO_WITH_SKILL12+ 0x00000080 Used to obtain the ability information with skills.

ExtensionAbilityFlag

Enumerates the ExtensionAbility flags, which indicate the type of ExtensionAbility information to obtain.

System capability: SystemCapability.BundleManager.BundleFramework.Core

System API: This is a system API.

Name Value Description
GET_EXTENSION_ABILITY_INFO_DEFAULT 0x00000000 Used to obtain the default ExtensionAbility information. The obtained information does not contain the permission, metadata, or disabled ExtensionAbility information.
GET_EXTENSION_ABILITY_INFO_WITH_PERMISSION 0x00000001 Used to obtain the ExtensionAbility information with permission information.
GET_EXTENSION_ABILITY_INFO_WITH_APPLICATION 0x00000002 Used to obtain the ExtensionAbility information with application information.
GET_EXTENSION_ABILITY_INFO_WITH_METADATA 0x00000004 Used to obtain the ExtensionAbility information with metadata.
GET_EXTENSION_ABILITY_INFO_WITH_SKILL12+ 0x00000010 Used to obtain the ExtensionAbility information with skills.

ProfileType11+

Enumerates the types of profiles (also called application files).

System capability: SystemCapability.BundleManager.BundleFramework.Core

System API: This is a system API.

Name Value Description
INTENT_PROFILE 1 Profile of the InsightIntent framework.

AppDistributionType12+

Enumerates the application distribution types.

System capability: SystemCapability.BundleManager.BundleFramework.Core

System API: This is a system API.

Name Value Description
APP_GALLERY 1 Application installed from AppGallery.
ENTERPRISE 2 Enterprise application that can be installed on personal devices.
ENTERPRISE_NORMAL 3 Common enterprise application that can be installed on enterprise devices only through an enterprise mobile device management (MDM) application.
ENTERPRISE_MDM 4 Enterprise MDM application that can be installed only on enterprise devices. To install a common enterprise application, you must have administrator privileges.
OS_INTEGRATION 5 Preinstalled system application.
CROWDTESTING 6 Application under crowdtesting, which is distributed by AppGallery to a limited number of users and come with a set expiration date. When the system detects that the validity period of the application expires, it prompts the user to update to the release version available on AppGallery.
NONE 7 Other.

ApplicationInfoFlag12+

Enumerates the application information flag, which describes the status between an application and user.

System capability: SystemCapability.BundleManager.BundleFramework.Core

System API: This is a system API.

Name Value Description
FLAG_INSTALLED 0x00000001 The application is installed for the specified user.
FLAG_OTHER_INSTALLED15+ 0x00000010 The application is installed for users other than the specified user.
FLAG_PREINSTALLED_APP15+ 0x00000020 The application is a preinstalled application.
FLAG_PREINSTALLED_APP_UPDATE15+ 0x00000040 The preinstalled application is updated.

BundleInstallStatus23+

Enumerates the application installation statuses.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Name Value Description
BUNDLE_NOT_EXIST 1 The application is not installed.
BUNDLE_INSTALLING 2 The application is being installed.
BUNDLE_INSTALLED 3 The application has been installed.

bundleManager.getBundleInfo14+

getBundleInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback<BundleInfo>): void

Obtains the bundle information based on the given bundle name, bundle flags, and user ID. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
bundleFlags number Yes Type of the bundle information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<BundleInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the bundle information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

// Obtain the bundle information with the ability information.
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags =
  bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_ABILITY;
let userId = 100;

try {
  bundleManager.getBundleInfo(bundleName, bundleFlags, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', message);
}
// Obtain the bundle information with the metadata in the application information.
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags =
  bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_METADATA;
let userId = 100;

try {
  bundleManager.getBundleInfo(bundleName, bundleFlags, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', message);
}

bundleManager.getBundleInfo14+

getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback<BundleInfo>): void

Obtains the bundle information based on the given bundle name and bundle flags. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
bundleFlags number Yes Type of the bundle information to obtain.
callback AsyncCallback<BundleInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the bundle information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700026 The specified bundle is disabled.

Example

// Obtain the bundle information with the ExtensionAbility information.
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE |
bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY;

try {
  bundleManager.getBundleInfo(bundleName, bundleFlags, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', message);
}

bundleManager.getBundleInfo14+

getBundleInfo(bundleName: string, bundleFlags: number, userId?: number): Promise<BundleInfo>

Obtains the bundle information based on the given bundle name, bundle flags, and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
bundleFlags number Yes Type of the bundle information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<BundleInfo> Promise used to return the bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

// Obtain the bundle information with the application and signature information.
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION |
bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO;
let userId = 100;

try {
  bundleManager.getBundleInfo(bundleName, bundleFlags, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'getBundleInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', message);
}
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;

try {
  bundleManager.getBundleInfo(bundleName, bundleFlags).then((data) => {
    hilog.info(0x0000, 'testTag', 'getBundleInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', message);
}

bundleManager.getApplicationInfo

getApplicationInfo(bundleName: string, appFlags: number, userId: number, callback: AsyncCallback<ApplicationInfo>): void

Obtains the application information based on the given bundle name, application flags, and user ID. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
appFlags number Yes Type of the application information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<ApplicationInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the application information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
let userId = 100;

try {
  bundleManager.getApplicationInfo(bundleName, appFlags, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getApplicationInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', message);
}

bundleManager.getApplicationInfo

getApplicationInfo(bundleName: string, appFlags: number, callback: AsyncCallback<ApplicationInfo>): void

Obtains the application information based on the given bundle name and application flags. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
appFlags number Yes Type of the application information to obtain.
callback AsyncCallback<ApplicationInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the application information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_WITH_PERMISSION;

try {
  bundleManager.getApplicationInfo(bundleName, appFlags, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getApplicationInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', message);
}

bundleManager.getApplicationInfo

getApplicationInfo(bundleName: string, appFlags: number, userId?: number): Promise<ApplicationInfo>

Obtains the application information based on the given bundle name, application flags, and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
appFlags number Yes Type of the application information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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> Promise used to return the application information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_WITH_PERMISSION;
let userId = 100;

try {
  bundleManager.getApplicationInfo(bundleName, appFlags, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'getApplicationInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getApplicationInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getApplicationInfo failed. Cause: %{public}s', message);
}

bundleManager.getAllBundleInfo

getAllBundleInfo(bundleFlags: number, userId: number, callback: AsyncCallback<Array<BundleInfo>>): void

Obtains all the bundle information in the system based on the given bundle flags and user ID. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleFlags number Yes Type of the bundle information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<Array<BundleInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of bundle information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION;
let userId = 100;

try {
  bundleManager.getAllBundleInfo(bundleFlags, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAllBundleInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', message);
}

bundleManager.getAllBundleInfo

getAllBundleInfo(bundleFlags: number, callback: AsyncCallback<Array<BundleInfo>>): void

Obtains all the bundle information in the system based on the given bundle flags. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleFlags number Yes Type of the bundle information to obtain.
callback AsyncCallback<Array<BundleInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of bundle information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;

try {
  bundleManager.getAllBundleInfo(bundleFlags, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAllBundleInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', message);
}

bundleManager.getAllBundleInfo

getAllBundleInfo(bundleFlags: number, userId?: number): Promise<Array<BundleInfo>>

Obtains all the bundle information in the system based on the given bundle flags and user ID. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleFlags number Yes Type of the bundle information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Array<BundleInfo>> Promise used to return an array of bundle information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;

try {
  bundleManager.getAllBundleInfo(bundleFlags).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllBundleInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed. Cause: %{public}s', message);
}

bundleManager.getAllApplicationInfo

getAllApplicationInfo(appFlags: number, userId: number, callback: AsyncCallback<Array<ApplicationInfo>>): void

Obtains all the application information in the system based on the given application flags and user ID. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
appFlags number Yes Type of the application information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<Array<ApplicationInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of application information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
let userId = 100;

try {
  bundleManager.getAllApplicationInfo(appFlags, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAllApplicationInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', message);
}

bundleManager.getAllApplicationInfo

getAllApplicationInfo(appFlags: number, callback: AsyncCallback<Array<ApplicationInfo>>): void

Obtains all the application information in the system based on the given application flags. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
appFlags number Yes Type of the application information to obtain.
callback AsyncCallback<Array<ApplicationInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of application information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;

try {
  bundleManager.getAllApplicationInfo(appFlags, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAllApplicationInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', message);
}

bundleManager.getAllApplicationInfo

getAllApplicationInfo(appFlags: number, userId?: number): Promise<Array<ApplicationInfo>>

Obtains all the application information in the system based on the given application flags and user ID. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
appFlags number Yes Type of the application information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Array<ApplicationInfo>> Promise used to return the array of application information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;

try {
  bundleManager.getAllApplicationInfo(appFlags).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllApplicationInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed. Cause: %{public}s', message);
}

bundleManager.queryAbilityInfo

queryAbilityInfo(want: Want, abilityFlags: number, userId: number, callback: AsyncCallback<Array<AbilityInfo>>): void

Obtains the ability information based on the given want, ability flags, and user ID. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
abilityFlags number Yes Type of the ability information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<Array<AbilityInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of ability information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified ability is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', message);
}

bundleManager.queryAbilityInfo

queryAbilityInfo(want: Want, abilityFlags: number, callback: AsyncCallback<Array<AbilityInfo>>): void

Obtains the ability information based on the given want and ability flags. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
abilityFlags number Yes Type of the ability information to obtain.
callback AsyncCallback<Array<AbilityInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of ability information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified ability is not found.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', message);
}

bundleManager.queryAbilityInfo

queryAbilityInfo(want: Want, abilityFlags: number, userId?: number): Promise<Array<AbilityInfo>>

Obtains the ability information based on the given want, ability flags, and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
abilityFlags number Yes Type of the ability information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Array<AbilityInfo>> Promise used to return the array of ability information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified ability is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags).then((data) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  })
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.queryAbilityInfoSync10+

queryAbilityInfoSync(want: Want, abilityFlags: number, userId?: number): Array<AbilityInfo>

Obtains the ability information based on the given want, ability flags, and user ID. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
abilityFlags number Yes Type of the ability information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. The default value is the user ID of the caller. The value must be greater than or equal to 0.

Return value

Type Description
Array<AbilityInfo> An array of ability information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified ability is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {

  let infos = bundleManager.queryAbilityInfoSync(want, abilityFlags, userId);
  hilog.info(0x0000, 'testTag', 'queryAbilityInfoSync successfully. Data: %{public}s', JSON.stringify(infos));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfoSync failed. Cause: %{public}s', message);
}
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  let infos = bundleManager.queryAbilityInfoSync(want, abilityFlags);
  hilog.info(0x0000, 'testTag', 'queryAbilityInfoSync successfully. Data: %{public}s', JSON.stringify(infos));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfoSync failed. Cause: %{public}s', message);
}

bundleManager.queryAbilityInfo12+

queryAbilityInfo(wants: Array<Want>, abilityFlags: number, userId?: number): Promise<Array<AbilityInfo>>

Obtains the ability information based on the given want list, ability flags, and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Array<Want> Yes List of want containing the bundle name to query.
abilityFlags number Yes Type of the ability information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Array<AbilityInfo>> Promise used to return an array of AbilityInfo object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified ability is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication1",
  abilityName: "EntryAbility"
};
let want1: Want = {
  bundleName: "com.example.myapplication2",
  abilityName: "EntryAbility"
};
let wants: Array<Want> = [want, want1];
try {
  bundleManager.queryAbilityInfo(wants, abilityFlags, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  })
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.queryExtensionAbilityInfo

queryExtensionAbilityInfo(want: Want, extensionAbilityType: ExtensionAbilityType, extensionAbilityFlags: number, userId: number, callback: AsyncCallback<Array<ExtensionAbilityInfo>>): void

Obtains the ExtensionAbility information based on the given want, ExtensionAbility type, ExtensionAbility flags, and user ID. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
extensionAbilityType ExtensionAbilityType Yes Type of the ExtensionAbility.
extensionAbilityFlags number Yes Type of the ExtensionAbility information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<Array<ExtensionAbilityInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of ExtensionAbility information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified extensionAbility is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM;
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', message);
}

bundleManager.queryExtensionAbilityInfo

queryExtensionAbilityInfo(want: Want, extensionAbilityType: ExtensionAbilityType, extensionAbilityFlags: number, callback: AsyncCallback<Array<ExtensionAbilityInfo>>): void

Obtains the ExtensionAbility information based on the given want, ExtensionAbility type, and ExtensionAbility flags. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
extensionAbilityType ExtensionAbilityType Yes Type of the ExtensionAbility.
extensionAbilityFlags number Yes Type of the ExtensionAbility information to obtain.
callback AsyncCallback<Array<ExtensionAbilityInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of ExtensionAbility information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified extensionAbility is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM;
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', message);
}

bundleManager.queryExtensionAbilityInfo

queryExtensionAbilityInfo(want: Want, extensionAbilityType: ExtensionAbilityType, extensionAbilityFlags: number, userId?: number): Promise<Array<ExtensionAbilityInfo>>

Obtains the ExtensionAbility information based on the given want, ExtensionAbility type, ExtensionAbility flags, and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
extensionAbilityType ExtensionAbilityType Yes Type of the ExtensionAbility.
extensionAbilityFlags number Yes Type of the ExtensionAbility information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Array<ExtensionAbilityInfo>> Promise used to return the array of ExtensionAbility information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified extensionAbility is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM;
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', message);
}
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM;
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags).then((data) => {
    hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', err.message);
  })
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.queryExtensionAbilityInfoSync10+

queryExtensionAbilityInfoSync(want: Want, extensionAbilityType: ExtensionAbilityType, extensionAbilityFlags: number, userId?: number): Array<ExtensionAbilityInfo>

Obtains the ExtensionAbility information based on the given want, ExtensionAbility type, ExtensionAbility flags, and user ID. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
extensionAbilityType ExtensionAbilityType Yes Type of the ExtensionAbility.
extensionAbilityFlags number Yes Type of the ExtensionAbility information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. The default value is the user ID of the caller. The value must be greater than or equal to 0.

Return value

Type Description
Array<ExtensionAbilityInfo> An array of ExtensionAbility information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified extensionAbility is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM;
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  let extenInfos = bundleManager.queryExtensionAbilityInfoSync(want, extensionAbilityType, extensionFlags, userId);
  hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfoSync successfully. Data: %{public}s',
    JSON.stringify(extenInfos));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfoSync failed. Cause: %{public}s', message);
}
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM;
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  let extenInfos = bundleManager.queryExtensionAbilityInfoSync(want, extensionAbilityType, extensionFlags);
  hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfoSync successfully. Data: %{public}s',
    JSON.stringify(extenInfos));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfoSync failed. Cause: %{public}s', message);
}

bundleManager.getBundleNameByUid14+

getBundleNameByUid(uid: number, callback: AsyncCallback<string>): void

Obtains the bundle name based on the given UID. 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.Core

Parameters

Name Type Mandatory Description
uid number Yes UID of the application.
callback AsyncCallback<string> Yes Callback used to return the result. If the operation is successful, err is null and data is the bundle name obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700021 The uid is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let uid = 20010005;
try {
  bundleManager.getBundleNameByUid(uid, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getBundleNameByUid successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed: %{public}s', message);
}

bundleManager.getBundleNameByUid14+

getBundleNameByUid(uid: number): Promise<string>

Obtains the bundle name based on the given UID. 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.Core

Parameters

Name Type Mandatory Description
uid number Yes UID of the application.

Return value

Type Description
Promise<string> Promise used to return the bundle name obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700021 The uid is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let uid = 20010005;
try {
  bundleManager.getBundleNameByUid(uid).then((data) => {
    hilog.info(0x0000, 'testTag', 'getBundleNameByUid successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed. Cause: %{public}s', message);
}

bundleManager.getBundleNameByUidSync14+

getBundleNameByUidSync(uid: number): string

Obtains the bundle name based on the given UID. This API returns the result synchronously.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
uid number Yes UID of the application.

Return value

Type Description
string Bundle name obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700021 The uid is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let uid = 20010005;
try {
  let data = bundleManager.getBundleNameByUidSync(uid);
  hilog.info(0x0000, 'testTag', 'getBundleNameByUidSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleNameByUidSync failed. Cause: %{public}s', message);
}

bundleManager.getBundleArchiveInfo

getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback<BundleInfo>): void

Obtains the bundle information based on the given HAP file path and bundle flags. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
hapFilePath string Yes Path where the HAP file is stored. The path must be the relative path of the current bundle's data directory.
bundleFlags number Yes Type of the bundle information to obtain.
callback AsyncCallback<BundleInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the bundle information obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700022 The hapFilePath is invalid.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let hapFilePath = "/data/xxx/test.hap";
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;

try {
  bundleManager.getBundleArchiveInfo(hapFilePath, bundleFlags, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getBundleArchiveInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', message);
}

bundleManager.getBundleArchiveInfo

getBundleArchiveInfo(hapFilePath: string, bundleFlags: number): Promise<BundleInfo>

Obtains the bundle information based on the given HAP file path and bundle flags. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
hapFilePath string Yes Path where the HAP file is stored. The path must be the relative path of the current bundle's data directory.
bundleFlags number Yes Type of the bundle information to obtain.

Return value

Type Description
Promise<BundleInfo> Promise used to return the bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700022 The hapFilePath is invalid.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let hapFilePath = "/data/xxx/test.hap";
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;

try {
  bundleManager.getBundleArchiveInfo(hapFilePath, bundleFlags).then((data) => {
    hilog.info(0x0000, 'testTag', 'getBundleArchiveInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', message);
}

bundleManager.getBundleArchiveInfoSync10+

getBundleArchiveInfoSync(hapFilePath: string, bundleFlags: number): BundleInfo

Obtains the bundle information based on the given HAP file path and bundle flags. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
hapFilePath string Yes Path where the HAP file is stored. The path must be the relative path of the current bundle's data directory.
bundleFlags number Yes Type of the bundle information to obtain.

Return value

Type Description
BundleInfo Bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700022 The hapFilePath is invalid.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let hapFilePath = "/data/xxx/test.hap";
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;

try {
  let data = bundleManager.getBundleArchiveInfoSync(hapFilePath, bundleFlags)
  hilog.info(0x0000, 'testTag', 'getBundleArchiveInfoSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleArchiveInfoSync failed. Cause: %{public}s', message);
}

bundleManager.getAllBundleCacheSize15+

getAllBundleCacheSize(): Promise<number>

Obtains the global cache size. This API uses a promise to return the result.

It is not possible to obtain the cache of applications that are currently running or have been granted the "AllowAppDataNotCleared" privilege as specified in the application configuration guide.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Return value

Type Description
Promise<number> Promise used to return the size of the global cache, in bytes.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  bundleManager.getAllBundleCacheSize().then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllBundleCacheSize successful. Data: ' + JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllBundleCacheSize failed: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllBundleCacheSize failed: %{public}s', message);
}

bundleManager.cleanAllBundleCache15+

cleanAllBundleCache(): Promise<void>

Clears the global cache. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.REMOVE_CACHE_FILES

System capability: SystemCapability.BundleManager.BundleFramework.Core

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  bundleManager.cleanAllBundleCache().then((data) => {
    hilog.info(0x0000, 'testTag', 'cleanAllBundleCache successful.');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'cleanAllBundleCache failed: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'cleanAllBundleCache failed: %{public}s', message);
}

bundleManager.cleanBundleCacheFiles

cleanBundleCacheFiles(bundleName: string, callback: AsyncCallback<void>): void

Clears the bundle cache based on the given bundle name. This API uses an asynchronous callback to return the result.

No permission is required when the caller clears its own cache.

System API: This is a system API.

Required permissions: ohos.permission.REMOVE_CACHE_FILES

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
callback AsyncCallback<void> Yes Callback used to return the result. If the operation is successful, err is null. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700030 The specified bundle does not support clearing of cache files.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";

try {
  bundleManager.cleanBundleCacheFiles(bundleName, err => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'cleanBundleCacheFiles successfully.');
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', message);
}

bundleManager.cleanBundleCacheFiles

cleanBundleCacheFiles(bundleName: string): Promise<void>

Clears the bundle cache based on the given bundle name. This API uses a promise to return the result.

No permission is required when the caller clears its own cache.

System API: This is a system API.

Required permissions: ohos.permission.REMOVE_CACHE_FILES

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.

Return value

Type Description
Promise<void> Promise that returns no value. If clearing the cache files fails, an error object is thrown.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700030 The specified bundle does not support clearing of cache files.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";

try {
  bundleManager.cleanBundleCacheFiles(bundleName).then(() => {
    hilog.info(0x0000, 'testTag', 'cleanBundleCacheFiles successfully.');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', message);
}

bundleManager.cleanBundleCacheFiles15+

cleanBundleCacheFiles(bundleName: string, appIndex: number): Promise<void>

Clears the bundle cache based on the given bundle name and application index. This API uses a promise to return the result.

No permission is required when the caller clears its own cache.

System API: This is a system API.

Required permissions: ohos.permission.REMOVE_CACHE_FILES

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
appIndex number Yes Index of the application clone.
The value 0 means to clear the cache of the main application. A value greater than 0 means to clear the cache data of the application clone.

Return value

Type Description
Promise<void> Promise that returns no value. If clearing the cache files fails, an error object is thrown.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700030 The specified bundle does not support clearing of cache files.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";
let appIndex = 1;

try {
  bundleManager.cleanBundleCacheFiles(bundleName, appIndex).then(() => {
    hilog.info(0x0000, 'testTag', 'cleanBundleCacheFiles successfully.');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', message);
}

bundleManager.setApplicationEnabled

setApplicationEnabled(bundleName: string, isEnabled: boolean, callback: AsyncCallback<void>): void

Enables or disables an application. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.
callback AsyncCallback<void> Yes Callback used to return the result. If the operation is successful, err is null. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";

try {
  bundleManager.setApplicationEnabled(bundleName, false, err => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'setApplicationEnabled successfully.');
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', message);
}

bundleManager.setApplicationEnabled

setApplicationEnabled(bundleName: string, isEnabled: boolean): Promise<void>

Enables or disables an application. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";

try {
  bundleManager.setApplicationEnabled(bundleName, false).then(() => {
    hilog.info(0x0000, "testTag", "setApplicationEnabled successfully.");
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', message);
}

bundleManager.setApplicationEnabled12+

setApplicationEnabled(bundleName: string, appIndex: number, isEnabled: boolean): Promise<void>

Enables or disables an application or an application clone. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
appIndex number Yes Index of the application clone.
The value 0 means to enable or disable the main application. A value greater than 0 means to enable or disable the application clone.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";

try {
  bundleManager.setApplicationEnabled(bundleName, 1, false).then(() => {
    hilog.info(0x0000, "testTag", "setApplicationEnabled successfully.");
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', message);
}

bundleManager.setApplicationEnabledSync10+

setApplicationEnabledSync(bundleName: string, isEnabled: boolean): void

Enables or disables an application. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";

try {
  bundleManager.setApplicationEnabledSync(bundleName, false);
  hilog.info(0x0000, 'testTag', 'setApplicationEnabledSync successfully.');
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'setApplicationEnabledSync failed: %{public}s', message);
}

bundleManager.setAbilityEnabled

setAbilityEnabled(info: AbilityInfo, isEnabled: boolean, callback: AsyncCallback<void>): void

Enables or disables an ability. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.
callback AsyncCallback<void> Yes Callback used to return the result. If the operation is successful, err is null. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityInfo is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    bundleManager.setAbilityEnabled(info, false, err => {
      if (err) {
        hilog.error(0x0000, 'testTag', 'setAbilityEnabled failed: %{public}s', err.message);
      } else {
        hilog.info(0x0000, "testTag", "setAbilityEnabled successfully.");
      }
    });
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.setAbilityEnabled

setAbilityEnabled(info: AbilityInfo, isEnabled: boolean): Promise<void>

Enables or disables an ability. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityInfo is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    bundleManager.setAbilityEnabled(info, false).then(() => {
      hilog.info(0x0000, "testTag", "setAbilityEnabled successfully.");
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', 'setAbilityEnabled failed: %{public}s', err.message);
    });
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.setAbilityEnabled12+

setAbilityEnabled(info: AbilityInfo, appIndex: number, isEnabled: boolean): Promise<void>

Enables or disables an ability of an application or an application clone. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.
appIndex number Yes Index of the application clone.
The value 0 means to enable or disable the ability of the main application. A value greater than 0 means to enable or disable the ability of the application clone.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityInfo is not found.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    bundleManager.setAbilityEnabled(info, 1, false).then(() => {
      hilog.info(0x0000, "testTag", "setAbilityEnabled successfully.");
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', 'setAbilityEnabled failed: %{public}s', err.message);
    });
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.setAbilityEnabledSync10+

setAbilityEnabledSync(info: AbilityInfo, isEnabled: boolean): void

Enables or disables an ability. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_ABILITY_ENABLED_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.
isEnabled boolean Yes Whether to enable the application. true to enable, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityInfo is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    try {
      bundleManager.setAbilityEnabledSync(info, false);
      hilog.info(0x0000, "testTag", "setAbilityEnabledSync successfully.");
    } catch (err) {
      let message = (err as BusinessError).message;
      hilog.error(0x0000, 'testTag', 'setAbilityEnabledSync failed: %{public}s', message);
    }
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.isApplicationEnabled

isApplicationEnabled(bundleName: string, callback: AsyncCallback<boolean>): void

Checks whether an application is enabled. This API uses an asynchronous callback to return the result.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
callback AsyncCallback<boolean> Yes Callback used to return the result. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';

try {
  bundleManager.isApplicationEnabled(bundleName, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'isApplicationEnabled successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed: %{public}s', message);
}

bundleManager.isApplicationEnabled

isApplicationEnabled(bundleName: string): Promise<boolean>

Checks whether an application is enabled. This API uses a promise to return the result.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.

Return value

Type Description
Promise<boolean> Promise used to return the result. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';

try {
  bundleManager.isApplicationEnabled(bundleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'isApplicationEnabled successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed. Cause: %{public}s', message);
}

bundleManager.isApplicationEnabled12+

isApplicationEnabled(bundleName: string, appIndex: number): Promise<boolean>

Checks whether an application or an application clone is enabled. This API uses a promise to return the result.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
appIndex number Yes Index of the application clone.
The value 0 means to obtain the enabled status of the main application. A value greater than 0 means to obtain the enabled status of the application clone.

Return value

Type Description
Promise<boolean> Promise used to return the result. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';

try {
  bundleManager.isApplicationEnabled(bundleName, 1).then((data) => {
    hilog.info(0x0000, 'testTag', 'isApplicationEnabled successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed. Cause: %{public}s', message);
}

bundleManager.isApplicationEnabledSync10+

isApplicationEnabledSync(bundleName: string): boolean

Checks whether an application is enabled. This API returns the result synchronously.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.

Return value

Type Description
boolean Check result for whether the application is enabled. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';

try {
  let data = bundleManager.isApplicationEnabledSync(bundleName);
  hilog.info(0x0000, 'testTag', 'isApplicationEnabledSync successfully: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'isApplicationEnabledSync failed: %{public}s', message);
}

bundleManager.isAbilityEnabled

isAbilityEnabled(info: AbilityInfo, callback: AsyncCallback<boolean>): void

Checks whether an ability is enabled. This API uses an asynchronous callback to return the result.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.
callback AsyncCallback<boolean> Yes Callback used to return the result. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    bundleManager.isAbilityEnabled(info, (err, data) => {
      if (err) {
        hilog.error(0x0000, 'testTag', 'isAbilityEnabled failed: %{public}s', err.message);
      } else {
        hilog.info(0x0000, 'testTag', 'isAbilityEnabled successfully: %{public}s', JSON.stringify(data));
      }
    });
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.isAbilityEnabled

isAbilityEnabled(info: AbilityInfo): Promise<boolean>

Checks whether an ability is enabled. This API uses a promise to return the result.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.

Return value

Type Description
Promise<boolean> Promise used to return the result. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    bundleManager.isAbilityEnabled(info).then((data) => {
      hilog.info(0x0000, 'testTag', 'isAbilityEnabled successfully. Data: %{public}s', JSON.stringify(data));
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', 'isAbilityEnabled failed. Cause: %{public}s', err.message);
    });
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.isAbilityEnabled12+

isAbilityEnabled(info: AbilityInfo, appIndex: number): Promise<boolean>

Checks whether an ability of an application or an application clone is enabled. This API uses a promise to return the result.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.
appIndex number Yes Index of the application clone.
The value 0 means to obtain the enabled status of the ability of the main application. A value greater than 0 means to obtain the enabled status of the ability of the application clone.

Return value

Type Description
Promise<boolean> Promise used to return the result. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityName is not found.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    bundleManager.isAbilityEnabled(info, 1).then((data) => {
      hilog.info(0x0000, 'testTag', 'isAbilityEnabled successfully. Data: %{public}s', JSON.stringify(data));
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', 'isAbilityEnabled failed. Cause: %{public}s', err.message);
    });
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.isAbilityEnabledSync10+

isAbilityEnabledSync(info: AbilityInfo): boolean

Checks whether an ability is enabled. This API returns the result synchronously.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
info AbilityInfo Yes Information about the target ability.

Return value

Type Description
boolean Check result for whether the ability is enabled. true if enabled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700003 The specified abilityName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => {
    hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo));
    let info = abilitiesInfo[0];

    try {
      let data = bundleManager.isAbilityEnabledSync(info);
      hilog.info(0x0000, 'testTag', 'isAbilityEnabledSync successfully: %{public}s', JSON.stringify(data));
    } catch (err) {
      let message = (err as BusinessError).message;
      hilog.error(0x0000, 'testTag', 'isAbilityEnabledSync failed: %{public}s', message);
    }
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', message);
}

bundleManager.getLaunchWantForBundle

getLaunchWantForBundle(bundleName: string, userId: number, callback: AsyncCallback<Want>): void

Obtains the Want used to launch the bundle based on the given bundle name and user ID. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<Want> Yes Callback used to return the result. If the operation is successful, err is null and data is the Want. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Calling interface without permission 'ohos.permission.GET_BUNDLE_INFO_PRIVILEGED'.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let userId = 100;

try {
  bundleManager.getLaunchWantForBundle(bundleName, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getLaunchWantForBundle successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', message);
}

bundleManager.getLaunchWantForBundle

getLaunchWantForBundle(bundleName: string, callback: AsyncCallback<Want>): void

Obtains the Want used to launch the bundle based on the given bundle name. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
callback AsyncCallback<Want> Yes Callback used to return the result. If the operation is successful, err is null and data is the Want. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Calling interface without permission 'ohos.permission.GET_BUNDLE_INFO_PRIVILEGED'.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';

try {
  bundleManager.getLaunchWantForBundle(bundleName, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getLaunchWantForBundle successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', message);
}

bundleManager.getLaunchWantForBundle

getLaunchWantForBundle(bundleName: string, userId?: number): Promise<Want>

Obtains the Want used to launch the bundle based on the given bundle name and user ID. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Want> Promise used to return the Want object obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Calling interface without permission 'ohos.permission.GET_BUNDLE_INFO_PRIVILEGED'.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let userId = 100;

try {
  bundleManager.getLaunchWantForBundle(bundleName, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'getLaunchWantForBundle successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed. Cause: %{public}s', message);
}

bundleManager.getLaunchWantForBundleSync10+

getLaunchWantForBundleSync(bundleName: string, userId?: number): Want

Obtains the Want used to launch the bundle based on the given bundle name and user ID. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. The default value is the user ID of the caller. The value must be greater than or equal to 0.

Return value

Type Description
Want Want object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Calling interface without permission 'ohos.permission.GET_BUNDLE_INFO_PRIVILEGED'.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let bundleName = 'com.example.myapplication';
let userId = 100;

try {
  let want: Want = bundleManager.getLaunchWantForBundleSync(bundleName, userId);
  hilog.info(0x0000, 'testTag', 'getLaunchWantForBundleSync successfully. Data: %{public}s', JSON.stringify(want));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getLaunchWantForBundleSync failed. Cause: %{public}s', message);
}
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';

let bundleName = 'com.example.myapplication';
let userId = 100;

try {
  let want: Want = bundleManager.getLaunchWantForBundleSync(bundleName);
  hilog.info(0x0000, 'testTag', 'getLaunchWantForBundleSync successfully. Data: %{public}s', JSON.stringify(want));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getLaunchWantForBundleSync failed. Cause: %{public}s', message);
}

bundleManager.getPermissionDef

getPermissionDef(permissionName: string, callback: AsyncCallback<PermissionDef>): void

Obtains the PermissionDef struct based on the given permission name. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
permissionName string Yes Name of the permission.
callback AsyncCallback<PermissionDef> Yes Callback used to return the result. If the operation is successful, err is null and data is the PermissionDef object obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700006 The specified permission is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let permission = "ohos.permission.GET_BUNDLE_INFO";
try {
  bundleManager.getPermissionDef(permission, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getPermissionDef failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getPermissionDef successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getPermissionDef failed: %{public}s', message);
}

bundleManager.getPermissionDef

getPermissionDef(permissionName: string): Promise<PermissionDef>

Obtains the PermissionDef struct based on the given permission name. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
permissionName string Yes Name of the permission.

Return value

Type Description
Promise<PermissionDef> Promise used to return the PermissionDef object obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700006 The specified permission is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let permissionName = "ohos.permission.GET_BUNDLE_INFO";
try {
  bundleManager.getPermissionDef(permissionName).then((data) => {
    hilog.info(0x0000, 'testTag', 'getPermissionDef successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getPermissionDef failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getPermissionDef failed. Cause: %{public}s', message);
}

bundleManager.getPermissionDefSync10+

getPermissionDefSync(permissionName: string): PermissionDef;

Obtains the PermissionDef struct based on the given permission name. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
permissionName string Yes Name of the permission.

Return value

Type Description
PermissionDef PermissionDef object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700006 The specified permission is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let permissionName = "ohos.permission.GET_BUNDLE_INFO";
try {
  let PermissionDef = bundleManager.getPermissionDefSync(permissionName);
  hilog.info(0x0000, 'testTag', 'getPermissionDefSync successfully. Data: %{public}s', JSON.stringify(PermissionDef));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getPermissionDefSync failed. Cause: %{public}s', message);
}

bundleManager.getAbilityLabel

getAbilityLabel(bundleName: string, moduleName: string, abilityName: string, callback: AsyncCallback<string>): void

Obtains the ability label based on the given bundle name, module name, and ability name. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
moduleName string Yes Module name.
abilityName string Yes Name of the UIAbility component.
callback AsyncCallback<string> Yes Callback used to return the result. If the operation is successful, err is null and data is the label. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
801 Capability not supported.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.
17700003 The specified abilityName is not found.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
let abilityName = 'EntryAbility';

try {
  bundleManager.getAbilityLabel(bundleName, moduleName, abilityName, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAbilityLabel failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAbilityLabel successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAbilityLabel failed: %{public}s', message);
}

bundleManager.getAbilityLabel

getAbilityLabel(bundleName: string, moduleName: string, abilityName: string): Promise<string>

Obtains the ability label based on the given bundle name, module name, and ability name. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
moduleName string Yes Module name.
abilityName string Yes Name of the UIAbility component.

Return value

Type Description
Promise<string> Promise used to return the label.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
801 Capability not supported.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.
17700003 The specified abilityName is not found.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
let abilityName = 'EntryAbility';

try {
  bundleManager.getAbilityLabel(bundleName, moduleName, abilityName).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAbilityLabel successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAbilityLabel failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAbilityLabel failed. Cause: %{public}s', message);
}

bundleManager.getAbilityLabelSync10+

getAbilityLabelSync(bundleName: string, moduleName: string, abilityName: string): string

Obtains the ability label based on the given bundle name, module name, and ability name. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
moduleName string Yes Module name.
abilityName string Yes Name of the UIAbility component.

Return value

Type Description
string Label of the ability.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
801 Capability not supported.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.
17700003 The specified abilityName is not found.
17700026 The specified bundle is disabled.
17700029 The specified ability is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
let abilityName = 'EntryAbility';

try {
  let abilityLabel = bundleManager.getAbilityLabelSync(bundleName, moduleName, abilityName);
  hilog.info(0x0000, 'testTag', 'getAbilityLabelSync successfully. Data: %{public}s', abilityLabel);
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAbilityLabelSync failed. Cause: %{public}s', message);
}

bundleManager.getApplicationInfoSync

getApplicationInfoSync(bundleName: string, applicationFlags: number, userId: number) : ApplicationInfo

Obtains the application information based on the given bundle name, application flags, and user ID. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
applicationFlags number Yes Type of the application information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.

Return value

Type Description
ApplicationInfo Application information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let applicationFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
let userId = 100;

try {
  let data = bundleManager.getApplicationInfoSync(bundleName, applicationFlags, userId);
  hilog.info(0x0000, 'testTag', 'getApplicationInfoSync successfully: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getApplicationInfoSync failed: %{public}s', message);
}

bundleManager.getApplicationInfoSync

getApplicationInfoSync(bundleName: string, applicationFlags: number) : ApplicationInfo

Obtains the application information based on the given bundle name and application flags. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
applicationFlags number Yes Type of the application information to obtain.

Return value

Type Description
ApplicationInfo Application information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let applicationFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;

try {
  let data = bundleManager.getApplicationInfoSync(bundleName, applicationFlags);
  hilog.info(0x0000, 'testTag', 'getApplicationInfoSync successfully: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getApplicationInfoSync failed: %{public}s', message);
}

bundleManager.getBundleInfoSync14+

getBundleInfoSync(bundleName: string, bundleFlags: number, userId: number): BundleInfo

Obtains the bundle information based on the given bundle name, bundle flags, and user ID. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
bundleFlags number Yes Type of the bundle information to obtain.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.

Return value

Type Description
BundleInfo Bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION;
let userId = 100;

try {
  let data = bundleManager.getBundleInfoSync(bundleName, bundleFlags, userId);
  hilog.info(0x0000, 'testTag', 'getBundleInfoSync successfully: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInfoSync failed: %{public}s', message);
}

bundleManager.getBundleInfoSync14+

getBundleInfoSync(bundleName: string, bundleFlags: number): BundleInfo

Obtains the bundle information for the caller's user based on the given bundle name and bundle flags. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
bundleFlags number Yes Type of the bundle information to obtain.

Return value

Type Description
BundleInfo Bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION;
try {
  let data = bundleManager.getBundleInfoSync(bundleName, bundleFlags);
  hilog.info(0x0000, 'testTag', 'getBundleInfoSync successfully: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInfoSync failed: %{public}s', message);
}

bundleManager.getSharedBundleInfo10+

getSharedBundleInfo(bundleName: string, moduleName: string, callback: AsyncCallback<Array<SharedBundleInfo>>): void

Obtains the shared bundle information based on the given bundle name. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
moduleName string Yes Module name.
callback AsyncCallback<Array<SharedBundleInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the shared bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let moduleName = 'library';

try {
  bundleManager.getSharedBundleInfo(bundleName, moduleName, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getSharedBundleInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getSharedBundleInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getSharedBundleInfo failed: %{public}s', message);
}

bundleManager.getSharedBundleInfo10+

getSharedBundleInfo(bundleName: string, moduleName: string): Promise<Array<SharedBundleInfo>>

Obtains the shared bundle information based on the given bundle name. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
moduleName string Yes Module name.

Return value

Type Description
Promise<Array<SharedBundleInfo>> Promise used to return the shared bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let moduleName = 'library';

try {
  bundleManager.getSharedBundleInfo(bundleName, moduleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'getSharedBundleInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getSharedBundleInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getSharedBundleInfo failed. Cause: %{public}s', message);
}

bundleManager.getAllSharedBundleInfo10+

getAllSharedBundleInfo(callback: AsyncCallback<Array<SharedBundleInfo>>): void

Obtains all the shared bundle information. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
callback AsyncCallback<Array<SharedBundleInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is all the shared bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  bundleManager.getAllSharedBundleInfo((err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAllSharedBundleInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAllSharedBundleInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllSharedBundleInfo failed: %{public}s', message);
}

bundleManager.getAllSharedBundleInfo10+

getAllSharedBundleInfo(): Promise<Array<SharedBundleInfo>>

Obtains all the shared bundle information. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Return value

Type Description
Promise<Array<SharedBundleInfo>> Promise used to return an array of the shared bundle information obtained.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  bundleManager.getAllSharedBundleInfo().then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllSharedBundleInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllSharedBundleInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllSharedBundleInfo failed. Cause: %{public}s', message);
}

bundleManager.getAppProvisionInfo10+

getAppProvisionInfo(bundleName: string, callback: AsyncCallback<AppProvisionInfo>): void

Obtains the provision profile based on the given bundle name. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
callback AsyncCallback<AppProvisionInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the provision profile.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter bundleName is empty.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";

try {
  bundleManager.getAppProvisionInfo(bundleName, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAppProvisionInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed: %{public}s', message);
}

bundleManager.getAppProvisionInfo10+

getAppProvisionInfo(bundleName: string, userId: number, callback: AsyncCallback<AppProvisionInfo>): void

Obtains the provision profile based on the given bundle name and user ID. This API uses an asynchronous callback to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId.
callback AsyncCallback<AppProvisionInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the provision profile.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter bundleName is empty.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";
let userId = 100;

try {
  bundleManager.getAppProvisionInfo(bundleName, userId, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getAppProvisionInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed: %{public}s', message);
}

bundleManager.getAppProvisionInfo10+

getAppProvisionInfo(bundleName: string, userId?: number): Promise<AppProvisionInfo>

Obtains the provision profile based on the given bundle name and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<AppProvisionInfo> Promise used to return the provision profile obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter bundleName is empty.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";
let userId = 100;

try {
  bundleManager.getAppProvisionInfo(bundleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAppProvisionInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed. Cause: %{public}s', message);
}

try {
  bundleManager.getAppProvisionInfo(bundleName, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAppProvisionInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppProvisionInfo failed. Cause: %{public}s', message);
}

bundleManager.getAppProvisionInfoSync10+

getAppProvisionInfoSync(bundleName: string, userId?: number): AppProvisionInfo

Obtains the provision profile based on the given bundle name and user ID. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. The default value is the user ID of the caller. The value must be greater than or equal to 0.

Return value

Type Description
AppProvisionInfo Provision profile.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter bundleName is empty.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.ohos.myapplication";
let userId = 100;

try {
  let data = bundleManager.getAppProvisionInfoSync(bundleName);
  hilog.info(0x0000, 'testTag', 'getAppProvisionInfoSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppProvisionInfoSync failed. Cause: %{public}s', message);
}

try {
  let data = bundleManager.getAppProvisionInfoSync(bundleName, userId);
  hilog.info(0x0000, 'testTag', 'getAppProvisionInfoSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppProvisionInfoSync failed. Cause: %{public}s', message);
}

bundleManager.getAllAppProvisionInfo23+

getAllAppProvisionInfo(userId?: number): Promise<Array<AppProvisionInfo>>

Obtains the provision configuration file information of all applications based on the given user ID. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or a combination of ohos.permission.GET_BUNDLE_INFO_PRIVILEGED and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

  • To obtain the provision configuration file information of all applications of the current user, you must request the ohos.permission.GET_BUNDLE_INFO_PRIVILEGED permission.

  • To obtain the provision configuration file information of all applications of other users, you must request the ohos.permission.GET_BUNDLE_INFO_PRIVILEGED and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS permissions.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
userId number No User ID, which can be obtained by calling getOsAccountLocalId.
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<Array<AppProvisionInfo>> Promise used to return the provision profile obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied. A non-system application is not allowed to call a system API.
17700004 The specified user id is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let userId = 100;

try {
  bundleManager.getAllAppProvisionInfo().then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllAppProvisionInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllAppProvisionInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllAppProvisionInfo failed. Cause: %{public}s', message);
}

try {
  bundleManager.getAllAppProvisionInfo(userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllAppProvisionInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllAppProvisionInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllAppProvisionInfo failed. Cause: %{public}s', message);
}

bundleManager.getSpecifiedDistributionType10+

getSpecifiedDistributionType(bundleName: string): string

Obtains the distribution type of a bundle in synchronous mode. The return value is the specifiedDistributionType field value in InstallParam passed when install is called.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.

Return value

Type Description
string Distribution type of the bundle.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let bundleName = "com.example.myapplication";

try {
  let type = bundleManager.getSpecifiedDistributionType(bundleName);
  console.info('getSpecifiedDistributionType successfully, type:' + type);
} catch (error) {
  let message = (error as BusinessError).message;
  console.error('getSpecifiedDistributionType failed. Cause: ' + message);
}

bundleManager.getAdditionalInfo10+

getAdditionalInfo(bundleName: string): string

Obtains additional information about a bundle in synchronous mode. The return value is the additionalInfo field value in InstallParam passed when install is called.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.

Return value

Type Description
string Additional information about the bundle.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter bundleName is empty.
17700001 The specified bundleName is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let bundleName = "com.example.myapplication";

try {
  let info = bundleManager.getAdditionalInfo(bundleName);
  console.info('getAdditionalInfo successfully, additionInfo:' + info);
} catch (error) {
  let message = (error as BusinessError).message;
  console.error('getAdditionalInfo failed. Cause: ' + message);
}

bundleManager.queryExtensionAbilityInfoSync11+

queryExtensionAbilityInfoSync(want: Want, extensionAbilityType: string, extensionAbilityFlags: number, userId?: number): Array<ExtensionAbilityInfo>

Obtains the ExtensionAbility information based on the given Want, ExtensionAbility type, ExtensionAbility flags, and user ID. This API returns the result synchronously.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
want Want Yes Want containing the bundle name to query.
extensionAbilityType string Yes Type of the custom ExtensionAbility.
extensionAbilityFlags number Yes Information flags to be contained in the returned ExtensionAbilityInfo object.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. The default value is the user ID of the caller. The value must be greater than or equal to 0.

Return value

Type Description
Array<ExtensionAbilityInfo> An array of ExtensionAbility information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. At least one parameter(action, entity, uri or type) is required for implicit query.
17700001 The specified bundleName is not found.
17700003 The specified extensionAbility is not found.
17700004 The specified userId is invalid.
17700026 The specified bundle is disabled.

Example

// Call the API with the userId parameter specified.
import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let extensionAbilityType = "form";
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let userId = 100;
let want: Want = {
  bundleName : "com.example.myapplication",
  abilityName : "EntryAbility"
};

try {
  let data = bundleManager.queryExtensionAbilityInfoSync(want, extensionAbilityType, extensionFlags, userId)
  hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfoSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfoSync failed: %{public}s', message);
}
// Call the API without passing in the userId parameter.
import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { Want } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let extensionAbilityType = "form";
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let want: Want = {
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  let data = bundleManager.queryExtensionAbilityInfoSync(want, extensionAbilityType, extensionFlags);
  hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfoSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfoSync failed: %{public}s', message);
}

bundleManager.getJsonProfile11+

getJsonProfile(profileType: ProfileType, bundleName: string, moduleName?: string, userId?: number): string

Obtains the JSON strings of the profile based on the given profile type, bundle name, and module name. This API returns the result synchronously.

No permission is required for obtaining the caller's own profile.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
profileType ProfileType Yes Type of the profile.
bundleName string Yes Bundle name of the application.
moduleName string No Module name of the application. If this parameter is not passed in, the entry module is used.
userId12+ number No User ID, which can be obtained by calling getOsAccountLocalId. The default value is the user ID of the caller. The value must be greater than or equal to 0.

Return value

Type Description
string JSON string of the profile.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.
17700004 The specified user ID is not found.
17700024 Failed to get the profile because the specified profile is not found in the HAP.
17700026 The specified bundle is disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
let profileType = bundleManager.ProfileType.INTENT_PROFILE;

try {
  let data = bundleManager.getJsonProfile(profileType, bundleName, moduleName)
  hilog.info(0x0000, 'testTag', 'getJsonProfile successfully. Data: %{public}s', data);
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getJsonProfile failed: %{public}s', message);
}

bundleManager.getRecoverableApplicationInfo11+

getRecoverableApplicationInfo(callback: AsyncCallback<Array<RecoverableApplicationInfo>>): void

Obtains information about all preinstalled applications that can be restored. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
callback AsyncCallback<Array<RecoverableApplicationInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the information about all preinstalled applications.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  bundleManager.getRecoverableApplicationInfo((err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'getRecoverableApplicationInfo failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'getRecoverableApplicationInfo successfully: %{public}s', JSON.stringify(data));
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getRecoverableApplicationInfo failed: %{public}s', message);
}

bundleManager.getRecoverableApplicationInfo11+

getRecoverableApplicationInfo(): Promise<Array<RecoverableApplicationInfo>>

Obtains information about all preinstalled applications that can be restored. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Return value

Type Description
Promise<Array<RecoverableApplicationInfo>> Promise used to return the information about all recoverable applications.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  bundleManager.getRecoverableApplicationInfo().then((data) => {
    hilog.info(0x0000, 'testTag', 'getRecoverableApplicationInfo successfully: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getRecoverableApplicationInfo failed: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getRecoverableApplicationInfo failed: %{public}s', message);
}

bundleManager.setAdditionalInfo11+

setAdditionalInfo(bundleName: string, additionalInfo: string): void

Sets additional information for an application. This API can be called only by AppGallery.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
additionalInfo string Yes Additional information to set.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter bundleName is empty.
17700001 The specified bundleName is not found.
17700053 The caller is not AppGallery.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = "com.example.myapplication";
let additionalInfo = "xxxxxxxxx,formUpdateLevel:4";

try {
  bundleManager.setAdditionalInfo(bundleName, additionalInfo);
  hilog.info(0x0000, 'testTag', 'setAdditionalInfo successfully.');
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'setAdditionalInfo failed. Cause: %{public}s', message);
}

bundleManager.getAllPreinstalledApplicationInfo12+

getAllPreinstalledApplicationInfo(): Promise<Array<PreinstalledApplicationInfo>>

Obtains information about all preinstalled applications. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Return value

Type Description
Promise<Array<PreinstalledApplicationInfo>> Promise used to return the array of preinstalled applications obtained.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  bundleManager.getAllPreinstalledApplicationInfo().then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllPreinstalledApplicationInfo success, Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllPreinstalledApplicationInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllPreinstalledApplicationInfo failed: %{public}s', message);
}

bundleManager.queryExtensionAbilityInfoSync11+

queryExtensionAbilityInfoSync(extensionAbilityType: string, extensionAbilityFlags: number, userId?: number): Array<ExtensionAbilityInfo>

Obtains the ExtensionAbility information based on the given ExtensionAbility type, ExtensionAbility flags, and user ID.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
extensionAbilityType string Yes Type of the custom ExtensionAbility.
extensionAbilityFlags number Yes Information flags to be contained in the returned ExtensionAbilityInfo object.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. The default value is the user ID of the caller. The value must be greater than or equal to 0.

Return value

Type Description
Array<ExtensionAbilityInfo> An array of ExtensionAbility information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter extensionAbilityType is empty.
17700003 The specified extensionAbility is not found.
17700004 The specified userId is invalid.

Example

// Call the API with the userId parameter specified.
import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

let extensionAbilityType = "form";
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;
let userId = 100;

try {
  let data = bundleManager.queryExtensionAbilityInfoSync(extensionAbilityType, extensionFlags, userId)
  hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfoSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfoSync failed: %{public}s', message);
}
// Call the API without passing in the userId parameter.
import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

let extensionAbilityType = "form";
let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT;

try {
  let data = bundleManager.queryExtensionAbilityInfoSync(extensionAbilityType, extensionFlags);
  hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfoSync successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfoSync failed: %{public}s', message);
}

bundleManager.getAllBundleInfoByDeveloperId12+

getAllBundleInfoByDeveloperId(developerId: string): Array<BundleInfo>

Obtains the information about all bundles of the current user based on the given developer ID.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
developerId string Yes Developer ID.

Return value

Type Description
Array<BundleInfo> An array of bundle information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter developerId is empty.
17700059 The specified developerId is invalid.

Example

import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

let developerId = "123456.789";

try {
  let data = bundleManager.getAllBundleInfoByDeveloperId(developerId);
  hilog.info(0x0000, 'testTag', 'getAllBundleInfoByDeveloperId successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllBundleInfoByDeveloperId failed: %{public}s', message);
}

bundleManager.getDeveloperIds12+

getDeveloperIds(appDistributionType?: number): Array<string>

Obtains all the developer IDs of the current user based on the given application distribution type.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
appDistributionType number No Application distribution type. If this parameter is not specified, a list of developer IDs of all applications is returned.

Return value

Type Description
Array<string> An array of strings.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.

Example

import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

let appDistributionType = bundleManager.AppDistributionType.ENTERPRISE;

try {
  let data = bundleManager.getDeveloperIds(appDistributionType);
  hilog.info(0x0000, 'testTag', 'getDeveloperIds successfully. Data: %{public}s', JSON.stringify(data));
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getDeveloperIds failed: %{public}s', message);
}

bundleManager.switchUninstallState12+

switchUninstallState(bundleName: string, state: boolean): void

Switches the uninstall state of an application. This API is independent of EDM application interception control.

System API: This is a system API.

Required permissions: ohos.permission.CHANGE_BUNDLE_UNINSTALL_STATE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name of the application.
state boolean Yes Whether the application can be uninstalled. true if the application can be uninstalled, false otherwise.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700060 The specified application cannot be uninstalled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
  bundleManager.switchUninstallState('com.example.myapplication', false);
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'switchUninstallState failed: %{public}s', message);
}

bundleManager.getAllPluginInfo19+

getAllPluginInfo(hostBundleName: string, userId?: number): Promise<Array<PluginBundleInfo>>

Obtains all the plugin information in the system based on the given host bundle name and user ID. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
hostBundleName string Yes Bundle name of the target application.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Array<PluginBundleInfo>> Promise used to return the array of plugin information obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let hostBundleName = 'com.ohos.demo';
let userId = 100;

try {
  bundleManager.getAllPluginInfo(hostBundleName, userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllPluginInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllPluginInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllPluginInfo failed. Cause: %{public}s', message);
}
import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let hostBundleName = 'com.ohos.demo';

try {
  bundleManager.getAllPluginInfo(hostBundleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllPluginInfo successfully. Data: %{public}s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllPluginInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllPluginInfo failed. Cause: %{public}s', message);
}

bundleManager.getExtResource12+

getExtResource(bundleName: string): Promise<Array<string>>;

Obtains the module names corresponding to the extended resources based on the given bundle name. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name based on which the extended resources are to be queried.

Return value

Type Description
Promise<Array<string>> Promise used to return the API call result and the module names corresponding to the extended resources.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700303 Failed to obtain extended resources.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName: string = 'com.ohos.demo';

try {
  bundleManager.getExtResource(bundleName).then((modules: Array<string>) => {
    for (let i = 0; i < modules.length; i++) {
      hilog.info(0x0000, 'testTag', 'getExtResource item: %s', modules[i]);
    }
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getExtResource failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getExtResource failed. Cause: %{public}s', message);
}

bundleManager.enableDynamicIcon12+

enableDynamicIcon(bundleName: string, moduleName: string): Promise<void>;

Enables the dynamic icon based on the given bundle name and module name. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.ACCESS_DYNAMIC_ICON

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name based on which the dynamic icon is to be enabled.
moduleName string Yes Module name based on which the dynamic icon is to be enabled.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.
17700304 Failed to enable the dynamic icon.
17700307 Dynamic icons cannot take effect due to existing custom themes.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName: string = 'com.ohos.demo';
let moduleName: string = 'moduleTest';

try {
  bundleManager.enableDynamicIcon(bundleName, moduleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'enableDynamicIcon successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'enableDynamicIcon failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'enableDynamicIcon failed. Cause: %{public}s', message);
}

bundleManager.enableDynamicIcon20+

enableDynamicIcon(bundleName: string, moduleName: string, option?: BundleOptions): Promise<void>

Enables the dynamic icon based on the given bundle name, module name, and bundle options. This API uses a promise to return the result.

To enable the dynamic icon for the current user, you must request the ohos.permission.ACCESS_DYNAMIC_ICON permission.

To enable the dynamic icon for another user, you must request the ohos.permission.ACCESS_DYNAMIC_ICON and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS permissions.

System API: This is a system API.

Required permissions: ohos.permission.ACCESS_DYNAMIC_ICON or (ohos.permission.ACCESS_DYNAMIC_ICON and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS)

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name based on which the dynamic icon is to be enabled.
moduleName string Yes Module name based on which the dynamic icon is to be enabled.
option BundleOptions No User and application clone index based on which the dynamic icon is to be enabled. By default, the dynamic icon is enabled for all users and all application clones.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700001 The specified bundleName is not found.
17700002 The specified moduleName is not found.
17700004 The specified user ID is not found.
17700061 AppIndex not in valid range.
17700304 Failed to enable the dynamic icon.
17700307 Dynamic icons cannot take effect due to existing custom themes.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName: string = 'com.ohos.demo';
let moduleName: string = 'moduleTest';
let option: bundleManager.BundleOptions = { 'userId': 100, 'appIndex': 0 };

try {
  bundleManager.enableDynamicIcon(bundleName, moduleName, option).then(() => {
    hilog.info(0x0000, 'testTag', 'enableDynamicIcon successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'enableDynamicIcon failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'enableDynamicIcon failed. Cause: %{public}s', message);
}

bundleManager.disableDynamicIcon12+

disableDynamicIcon(bundleName: string): Promise<void>;

Disables the dynamic icon based on the given bundle name. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.ACCESS_DYNAMIC_ICON

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name based on which the dynamic icon is to be disabled.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700305 Failed to disable the dynamic icon.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName: string = 'com.ohos.demo';

try {
  bundleManager.disableDynamicIcon(bundleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'disableDynamicIcon successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'disableDynamicIcon failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'disableDynamicIcon failed. Cause: %{public}s', message);
}

bundleManager.disableDynamicIcon20+

disableDynamicIcon(bundleName: string, option?: BundleOptions): Promise<void>

Disables the dynamic icon based on the given bundle name and bundle options. This API uses a promise to return the result.

To disable the dynamic icon for the current user, you must request the ohos.permission.ACCESS_DYNAMIC_ICON permission.

To disable the dynamic icon for another user, you must request the ohos.permission.ACCESS_DYNAMIC_ICON and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS permissions.

System API: This is a system API.

Required permissions: ohos.permission.ACCESS_DYNAMIC_ICON or (ohos.permission.ACCESS_DYNAMIC_ICON and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS)

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name based on which the dynamic icon is to be disabled.
option BundleOptions No User and application clone index based on which the dynamic icon is to be disabled. By default, the dynamic icon is disabled for all users and all application clones.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700061 AppIndex not in valid range.
17700305 Failed to disable the dynamic icon.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName: string = 'com.ohos.demo';
let option: bundleManager.BundleOptions = { 'userId': 100, 'appIndex': 0 };

try {
  bundleManager.disableDynamicIcon(bundleName, option).then(() => {
    hilog.info(0x0000, 'testTag', 'disableDynamicIcon successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'disableDynamicIcon failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'disableDynamicIcon failed. Cause: %{public}s', message);
}

bundleManager.getDynamicIcon12+

getDynamicIcon(bundleName: string): Promise<string>;

Obtains the module name corresponding to the dynamic icon based on the specified bundle name. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name based on which the extended resources are to be queried.

Return value

Type Description
Promise<string> Promise used to return the API call result and module name corresponding to the dynamic icon.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700306 Failed to obtain the dynamic icon.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName: string = 'com.ohos.demo';

try {
  bundleManager.getDynamicIcon(bundleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'getDynamicIcon successfully %s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getDynamicIcon failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getDynamicIcon failed. Cause: %{public}s', message);
}

bundleManager.getAppCloneIdentity14+

getAppCloneIdentity(uid: number): Promise<AppCloneIdentity>;

Obtains the bundle name and application index of an application clone based on the given UID. 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.Core

Parameters

Name Type Mandatory Description
uid number Yes UID of the application.

Return value

Type Description
Promise<AppCloneIdentity> Promise used to return the application clone index.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700021 The uid is not found.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let uid = 20010005;

try {
  bundleManager.getAppCloneIdentity(uid).then((res: bundleManager.AppCloneIdentity) => {
    hilog.info(0x0000, 'testTag', 'getAppCloneIdentity res = %{public}s', JSON.stringify(res));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAppCloneIdentity failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppCloneIdentity failed. Cause: %{public}s', message);
}

bundleManager.getAppCloneIdentityBySandboxDataDir20+

getAppCloneIdentityBySandboxDataDir(sandboxDataDir: string): AppCloneIdentity

Obtains the identity information of an application, including the bundle name and clone index, based on the given sandbox directory name.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
sandboxDataDir string Yes Name of the sandbox directory of the application.
NOTE
The validity of this parameter is not verified. If the input sandboxDataDir does not match the directory name format for application clones or atomic services, sandboxDataDir is returned as AppCloneIdentity.bundleName, and AppCloneIdentity.appIndex is 0.
1. Directory name format for application clones: +clone-{appIndex}+{bundleName}, where appIndex and bundleName are variables corresponding to the clone index and bundle name, respectively. Example: +clone-1+com.example.myapplication.
2. Directory name format for atomic services: +auid-{uid}+{bundleName}, where uid and bundleName are variables corresponding to the UID and bundle name, respectively. Example: +auid-20000000+com.example.myapplication.

Return value

Type Description
AppCloneIdentity Bundle name and clone index of the application.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

// Main application.
let dataDir = 'com.example.myapplication';
try {
  let res = bundleManager.getAppCloneIdentityBySandboxDataDir(dataDir);
  console.info('getAppCloneIdentityBySandboxDataDir successfully. res = ' + JSON.stringify(res));
} catch (err) {
  let message = (err as BusinessError).message;
  console.error('getAppCloneIdentityBySandboxDataDir failed. Cause = ' + message);
}

// Application clone.
let cloneDataDir = '+clone-1+com.example.myapplication';
try {
  let res = bundleManager.getAppCloneIdentityBySandboxDataDir(cloneDataDir);
  console.info('getAppCloneIdentityBySandboxDataDir successfully. res = ' + JSON.stringify(res));
} catch (err) {
  let message = (err as BusinessError).message;
  console.error('getAppCloneIdentityBySandboxDataDir failed. Cause = ' + message);
}

// Atomic service.
let atomicDataDir = '+auid-20000000+com.example.myapplication';
try {
  let res = bundleManager.getAppCloneIdentityBySandboxDataDir(atomicDataDir);
  console.info('getAppCloneIdentityBySandboxDataDir successfully. res = ' + JSON.stringify(res));
} catch (err) {
  let message = (err as BusinessError).message;
  console.error('getAppCloneIdentityBySandboxDataDir failed. Cause = ' + message);
}

bundleManager.getSandboxDataDir20+

getSandboxDataDir(bundleName: string, appIndex: number): string

Obtains the sandbox directory of an application based on the given bundle name and clone index.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name of the application. This API can be called only when the application or its clone is available for the current user. Otherwise, error code 17700001 is returned.
appIndex number Yes Index of the application. The value ranges from 0 to 5. The value 0 indicates the main application, and the values 1 to 5 indicate the indexes of application clones.

Return value

Type Description
string Sandbox directory of the application.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700001 The specified bundleName is not found.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let bundleName = 'com.example.myapplication';
let appIndex = 1;

try {
  let dataDir = bundleManager.getSandboxDataDir(bundleName, appIndex);
  console.info('getSandboxDataDir successfully. dataDir = ' + dataDir);
} catch (err) {
  let message = (err as BusinessError).message;
  console.error('getSandboxDataDir failed. Cause = ' + message);
}

bundleManager.getAppCloneBundleInfo12+

getAppCloneBundleInfo(bundleName: string, appIndex: number, bundleFlags: number, userId?: number): Promise<BundleInfo>;

Obtains the bundle information of an application or an application clone based on the given bundle name, app index, bundleFlags, and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
appIndex number Yes Index of the application clone.
The value 0 means to obtain the bundle information of the main application. A value greater than 0 means to obtain the bundle information of the application clone.
bundleFlags number Yes Type of the bundle information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<BundleInfo> Promise used to return the bundle information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle is disabled.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let appIndex = 1;
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE |
bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY;

try {
  bundleManager.getAppCloneBundleInfo(bundleName, appIndex, bundleFlags).then((res: bundleManager.BundleInfo) => {
    hilog.info(0x0000, 'testTag', 'getAppCloneBundleInfo res: BundleInfo = %{public}s', JSON.stringify(res));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAppCloneBundleInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAppCloneBundleInfo failed. Cause: %{public}s', message);
}

bundleManager.getAllAppCloneBundleInfo12+

getAllAppCloneBundleInfo(bundleName: string, bundleFlags: number, userId?: number): Promise<Array<BundleInfo>>;

Obtains all the bundle information of applications and application clones based on the given bundle name, bundleFlags, and user ID. This API uses a promise to return the result.

No permission is required for obtaining the caller's own information.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.
bundleFlags number Yes Type of the bundle information to obtain.
userId number No User ID, which can be obtained by calling getOsAccountLocalId. 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<Array<BundleInfo>> Promise used to return an array of bundle information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700026 The specified bundle and clone apps are all disabled.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName = 'com.example.myapplication';
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE |
bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY;

try {
  bundleManager.getAllAppCloneBundleInfo(bundleName, bundleFlags).then((res: Array<bundleManager.BundleInfo>) => {
    let index = 0;
    for (let item of res) {
      hilog.info(0x0000, 'testTag', 'getAllAppCloneBundleInfo res: BundleInfo[%{public}d] = %{public}s', index++,
        JSON.stringify(item));
    }
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllAppCloneBundleInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllAppCloneBundleInfo failed. Cause: %{public}s', message);
}

bundleManager.verifyAbc11+

verifyAbc(abcPaths: Array<string>, deleteOriginalFiles: boolean, callback: AsyncCallback<void>): void

Verifies an .abc file. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.RUN_DYN_CODE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
abcPaths Array<string> Yes Path of the .abc file.
deleteOriginalFiles boolean Yes Whether to delete the .abc file. true to delete, false otherwise.
callback AsyncCallback<void> Yes Callback used to return the result. If the operation is successful, err is null. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700201 Failed to verify the abc file.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let abcPaths: Array<string> = ['/data/storage/el2/base/a.abc'];

try {
  bundleManager.verifyAbc(abcPaths, true, (err, data) => {
    if (err) {
      hilog.error(0x0000, 'testTag', 'verifyAbc failed: %{public}s', err.message);
    } else {
      hilog.info(0x0000, 'testTag', 'verifyAbc successfully');
    }
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'verifyAbc failed: %{public}s', message);
}

bundleManager.migrateData18+

migrateData(sourcePaths: Array<string>, destinationPath: string): Promise<void>

Migrates files from the source path to the destination path. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.MIGRATE_DATA

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
sourcePaths Array<string> Yes Array of source paths. The value can be a single file path such as /example1/test.txt or a directory path such as /example2/test.
destinationPath string Yes Destination path. Only one directory path is supported, for example, /example2/test.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700080 The source paths are invalid.
17700081 The destination path is invalid.
17700082 User authentication failed.
17700083 Waiting for user authentication timeout.
17700084 There are inaccessible path in the source paths.
17700085 The destination path cannot be accessed.
17700086 System error occurred during copy execution.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
  // Change the values of source1, source2, and dest to the actual file or directory paths.
  let source1: string = "/data/app/el2/100/base/com.example.myapplication/";
  let source2: string = "/data/app/el2/101/base/com.example.myapplication/log.txt";
  let dest: string = "/data/local/tmp";
  let sourcePaths: Array<string> = [source1, source2];

  bundleManager.migrateData(sourcePaths, dest)
    .then(() => {
      console.info(`migrateData succeed`);
    })
    .catch((err: BusinessError) => {
      console.error(`migrateData err : `, JSON.stringify(err));
    })
} catch (err) {
  console.error(`migrateData call err : `, JSON.stringify(err));
}

bundleManager.verifyAbc11+

verifyAbc(abcPaths: Array<string>, deleteOriginalFiles: boolean): Promise<void>

Verifies an .abc file. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.RUN_DYN_CODE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
abcPaths Array<string> Yes Path of the .abc file.
deleteOriginalFiles boolean Yes Whether to delete the .abc file. true to delete, false otherwise.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700201 Failed to verify the abc file.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let abcPaths: Array<string> = ['/data/storage/el2/base/a.abc'];

try {
  bundleManager.verifyAbc(abcPaths, true).then((data) => {
    hilog.info(0x0000, 'testTag', 'verifyAbc successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'verifyAbc failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'verifyAbc failed. Cause: %{public}s', message);
}

bundleManager.deleteAbc11+

deleteAbc(abcPath: string): Promise<void>

Deletes an .abc file based on the specified file path. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.RUN_DYN_CODE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
abcPath string Yes Path of the .abc file.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700202 Failed to delete the abc file.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let abcPath: string = '/data/storage/el2/base/a.abc';

try {
  bundleManager.deleteAbc(abcPath).then((data) => {
    hilog.info(0x0000, 'testTag', 'deleteAbc successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'deleteAbc failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'deleteAbc failed. Cause: %{public}s', message);
}

bundleManager.getDynamicIconInfo20+

getDynamicIconInfo(bundleName: string): Promise<Array<DynamicIconInfo>>

Obtains the dynamic icon information of all users and all application clones based on the given bundle name. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name of the application for which the dynamic icon information is to be queried.

Return value

Type Description
Promise<Array<DynamicIconInfo>> Promise used to return the dynamic icon information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700001 The specified bundleName is not found.
17700306 Failed to obtain the dynamic icon.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let bundleName: string = 'com.ohos.demo';

try {
  bundleManager.getDynamicIconInfo(bundleName).then((data) => {
    hilog.info(0x0000, 'testTag', 'getDynamicIconInfo successfully %s', JSON.stringify(data));
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getDynamicIconInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getDynamicIconInfo failed. Cause: %{public}s', message);
}

bundleManager.getAllDynamicIconInfo20+

getAllDynamicIconInfo(userId?: number): Promise<Array<DynamicIconInfo>>

Obtains the dynamic icon information of all applications and all application clones of a specified user. This API uses a promise to return the result.

To obtain the dynamic icon information of all applications and all application clones of the current user, you must request the ohos.permission.GET_BUNDLE_INFO_PRIVILEGED permission.

To obtain the dynamic icon information of all applications and all application clones of other users or all users, you must request the ohos.permission.GET_BUNDLE_INFO_PRIVILEGED and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS permissions.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED and ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
userId number No User ID. By default, the dynamic icon information of all applications and all application clones of all users is queried.

Return value

Type Description
Promise<Array<DynamicIconInfo>> Promise used to return the dynamic icon information.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700004 The specified user ID is not found.
17700306 Failed to obtain the dynamic icon.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let userId: number = 100;

try {
  bundleManager.getAllDynamicIconInfo(userId).then((data) => {
    hilog.info(0x0000, 'testTag', 'getAllDynamicIconInfo successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'getAllDynamicIconInfo failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getAllDynamicIconInfo failed. Cause: %{public}s', message);
}

bundleManager.setAbilityFileTypesForSelf22+

setAbilityFileTypesForSelf(moduleName: string, abilityName: string, fileTypes: Array<string>): void

Sets the file types that can be opened by the current application.

System API: This is a system API.

Required permissions: ohos.permission.MANAGE_SELF_SKILLS

System capability: SystemCapability.BundleManager.BundleFramework.Core

Device behavior differences: This API can be properly called on PCs/2-in-1 devices. If it is called on other devices, error code 201 is returned.

Parameters

Name Type Mandatory Description
moduleName string Yes Module name.
abilityName string Yes Name of the UIAbility component.
fileTypes Array<string> Yes Array of file types. The array must contain no more than 1024 elements, and each element must not exceed 512 characters. Valid values must be from UniformDataType. Empty values, wildcard characters, and general.object are not allowed.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700002 The specified moduleName is not found.
17700003 The specified abilityName is not found.
17700351 Invalid fileTypes. Possible causes:1. The array length exceeds 1024; 2. The array contains an empty item; 3. An item exceeds 512 characters; 4. The array contains wildcard or general.object.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

let moduleName: string = "entry";
let abilityName: string = "EntryAbility";
let fileTypes: Array<string> = ["general.png", "general.jpeg"];

try {
  bundleManager.setAbilityFileTypesForSelf(moduleName, abilityName, fileTypes);
  hilog.info(0x0000, 'testTag', 'setAbilityFileTypesForSelf successfully');
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'setAbilityFileTypesForSelf failed. Cause: %{public}s', message);
}

bundleManager.recoverBackupBundleData21+

recoverBackupBundleData(bundleName: string, userId: number, appIndex: number): Promise<void>

Restores the backup data for a specified application under a given user. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.RECOVER_BUNDLE

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name of the application.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId. The value is greater than or equal to 0.
appIndex number Yes Index of the application. The value ranges from 0 to 5. The value 0 indicates the main application, and the values 1 to 5 indicate the indexes of application clones.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

// Replace the bundle name, user ID, and application index with the actual ones.
let bundleName: string = 'com.ohos.demo';
let userId: number = 100;
let appIndex: number = 0;

try {
  bundleManager.recoverBackupBundleData(bundleName, userId, appIndex).then(() => {
    hilog.info(0x0000, 'testTag', 'recoverBackupBundleData successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'recoverBackupBundleData failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'recoverBackupBundleData failed. Cause: %{public}s', message);
}

bundleManager.removeBackupBundleData21+

removeBackupBundleData(bundleName: string, userId: number, appIndex: number): Promise<void>

Removes the backup data for a specified application under a given user. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.CLEAN_APPLICATION_DATA

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name of the application.
userId number Yes User ID, which can be obtained by calling getOsAccountLocalId. The value is greater than or equal to 0.
appIndex number Yes Index of the application. The value ranges from 0 to 5. The value 0 indicates the main application, and the values 1 to 5 indicate the indexes of application clones.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
17700001 The specified bundleName is not found.
17700004 The specified user ID is not found.
17700061 AppIndex not in valid range.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

// Replace the bundle name, user ID, and application index with the actual ones.
let bundleName: string = 'com.ohos.demo';
let userId: number = 100;
let appIndex: number = 0;

try {
  bundleManager.removeBackupBundleData(bundleName, userId, appIndex).then(() => {
    hilog.info(0x0000, 'testTag', 'removeBackupBundleData successfully');
  }).catch((err: BusinessError) => {
    hilog.error(0x0000, 'testTag', 'removeBackupBundleData failed. Cause: %{public}s', err.message);
  });
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'removeBackupBundleData failed. Cause: %{public}s', message);
}

bundleManager.getBundleInstallStatus23+

getBundleInstallStatus(bundleName: string): BundleInstallStatus

Obtains the installation status of a specified application under a given user.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.BundleFramework.Core

Parameters

Name Type Mandatory Description
bundleName string Yes Bundle name.

Return value

Type Description
BundleInstallStatus Application installation status.

Error codes

For details about the error codes, see Universal Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied. A non-system application is not allowed to call a system API.

Example

import { bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

// Replace the bundle name with the actual one.
let bundleName: string = 'com.ohos.demo';

try {
  let bundleInstallStatus = bundleManager.getBundleInstallStatus(bundleName);
  hilog.info(0x0000, 'testTag', 'bundle install status:' + bundleInstallStatus);
} catch (err) {
  let message = (err as BusinessError).message;
  hilog.error(0x0000, 'testTag', 'getBundleInstallStatus failed. Cause: %{public}s', message);
}

PermissionDef

type PermissionDef = _PermissionDef

Defines the detailed information about the permissions defined in the module.json5 file.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_PermissionDef Permission details defined in the configuration file.

SharedBundleInfo10+

type SharedBundleInfo = _SharedBundleInfo

Defines the shared bundle information.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_SharedBundleInfo Shared bundle information.

AppProvisionInfo10+

type AppProvisionInfo = _AppProvisionInfo.AppProvisionInfo

Defines the information in the HarmonyAppProvision configuration file.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_AppProvisionInfo.AppProvisionInfo Information in the HarmonyAppProvision configuration file.

Validity10+

type Validity = _AppProvisionInfo.Validity

Defines the validity period in the configuration file.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_AppProvisionInfo.Validity Validity period in the configuration file.

RecoverableApplicationInfo11+

type RecoverableApplicationInfo = _RecoverableApplicationInfo

Defines the information about a preinstalled application that can be restored after being uninstalled.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_RecoverableApplicationInfo Information about a preinstalled application that can be restored after being uninstalled.

PreinstalledApplicationInfo12+

type PreinstalledApplicationInfo = _PreinstalledApplicationInfo

Defines the preinstalled application information.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_PreinstalledApplicationInfo Preinstalled application information.

PluginBundleInfo19+

type PluginBundleInfo = _PluginBundleInfo

Defines the plugin information.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_PluginBundleInfo Plugin information.

PluginModuleInfo19+

type PluginModuleInfo = _PluginModuleInfo

Defines the module information of a plugin.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_PluginModuleInfo Module information of the plugin.

DynamicIconInfo20+

type DynamicIconInfo = _BundleInfo.DynamicIconInfo

Describes the information about the dynamic icon of an application.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_BundleInfo.DynamicIconInfo Information about the dynamic icon of an application.

BundleOptions20+

type BundleOptions = _BundleInfo.BundleOptions

Describes the bundle options used to set or query application information.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Core

Type Description
_BundleInfo.BundleOptions Bundle options used to set or query application information.