# BundleManager - [Overview](#section931510718165623) - [Summary](#section1517998658165623) - [Files](#files) - [Data Structures](#nested-classes) - [Typedefs](#typedef-members) - [Enumerations](#enum-members) - [Functions](#func-members) - [Details](#section165948216165623) - [Typedef](#section160203913165623) - [BundleStateCallback](#gad7ea6d0bf78db2d59e6d339c31819885) - [InstallerCallback](#ga00f021e76d728d2d44e1a28887ccc3af) - [Enumeration Type](#section76133345165623) - [AbilityType](#ga44b675d687acff3d739404c1227b4259) - [AppexecfwkErrors](#gac318d4f4dc0125e2367ea8c539770ed1) - [InstallLocation](#ga4907fd26df42a0abdfd6ade10ac44efb) - [LaunchMode](#ga605d46d860e356a74db6842e66522854) - [Function](#section1955086544165623) - [ClearAbilityInfo\(\)](#ga7377545918725f75645b59b1b7a319fa) - [ClearBundleInfo\(\)](#ga78829b21273aefd65844eba4549162ca) - [ClearBundleStatusCallback\(\)](#gae5e0593438f073199bf6d69e47a84975) - [ClearElement\(\)](#ga3abe15ac14571de84ca72c98f4009724) - [ClearModuleInfo\(\)](#ga6c2242cc10f135d129b95444faacb345) - [GetBundleInfo\(\)](#ga5e81134e037911654e34cc8a7ba01a2f) - [GetBundleInfos\(\)](#ga2469dafbc61ba8e98b69041c13044cad) - [GetBundleInfosByMetaData\(\)](#ga711965038390aef4fa0a6b6a98f6998b) - [GetBundleNameForUid\(\)](#ga4afdc08ba78506fce95a066e137ac46d) - [Install\(\)](#gaf1f1521a64cc98f076b0082df6c0abdd) - [QueryAbilityInfo\(\)](#ga4360375d15224d89632f59ee110b74c9) - [QueryKeepAliveBundleInfos\(\)](#ga0c1cb00194993ecba7337fdf0a203314) - [RegisterCallback\(\)](#ga5c49620ca8b752cd6f43fabc5d5c7416) - [SetElementAbilityName\(\)](#ga93a575cc428cb96526ae02b3997f1f3b) - [SetElementBundleName\(\)](#ga60692e66a3a204a2f16f70c5cd452c1d) - [SetElementDeviceID\(\)](#ga90e16f159ee8e7f1a9385feebb3dbc0c) - [Uninstall\(\)](#gaa117e44378315a61b4e71fd252b2e496) - [UnregisterCallback\(\)](#ga095eee592eff6ce71a2a67a1a0e3e344) ## **Overview** **Description:** Provides structures and functions for managing application bundles and obtaining application information. You can use functions provided by this module to install, update, or uninstall an application, obtain [AbilityInfo](abilityinfo.md) and [BundleInfo](bundleinfo.md) about an application, and obtain the bundle name of an application based on the application's user ID \(UID\). **Since:** 1.0 **Version:** 1.0 ## **Summary** ## Files
Declares structures and functions for managing ability information. |
|
Declares error codes returned by bundle management functions. |
|
Declares structures and functions for managing application bundle information. |
|
Declares functions used for managing application bundles and obtaining bundle information. |
|
Declares the callback invoked upon state changes of an application and the structure defining the callback information. |
|
Declares the structure that defines the required information for querying AbilityInfo, including the device ID, bundle name, and class name, and functions for setting such information. |
|
Declares structures and functions for managing HAP package information. |
Defines parameters used for application installation, update, or uninstallation. |
|
Defines the metadata information in a ModuleInfo object. |
|
InstallerCallback) (const uint8_t resultCode, const void *resultMessage) |
Called when an application is installed, updated, or uninstalled. |
BundleStateCallback) (const uint8_t installType, const uint8_t resultCode, const void *resultMessage, const char *bundleName, void *data) |
Called when the installation, update, or uninstallation state of an application changes. |
ClearAbilityInfo (AbilityInfo *abilityInfo) |
Clears an AbilityInfo object. |
ClearBundleInfo (BundleInfo *bundleInfo) |
Clears a BundleInfo object. |
RegisterCallback (BundleStatusCallback *BundleStatusCallback) |
Registers a callback to monitor the installation, update, and uninstallation state changes of an application. |
|
Unregisters a callback previously registered for monitoring the installation, update, and uninstallation stat changes of an application. |
|
Install (const char *hapPath, const InstallParam *installParam, InstallerCallback installerCallback) |
|
Uninstall (const char *bundleName, const InstallParam *installParam, InstallerCallback installerCallback) |
|
QueryAbilityInfo (const Want *want, AbilityInfo *abilityInfo) |
Queries the AbilityInfo of an ability based on the information carried in the Want structure. |
GetBundleInfo (const char *bundleName, int32_t flags, BundleInfo *bundleInfo) |
Obtains the BundleInfo of an application based on the specified bundle name. |
GetBundleInfos (const int flags, BundleInfo **bundleInfos, int32_t *len) |
Obtains the BundleInfo of all bundles in the system. |
QueryKeepAliveBundleInfos (BundleInfo **bundleInfos, int32_t *len) |
Obtains the BundleInfo of all keep-alive applications in the system. |
GetBundleInfosByMetaData (const char *metaDataKey, BundleInfo **bundleInfos, int32_t *len) |
Obtains the BundleInfo of application bundles based on the specified MetaData. |
GetBundleNameForUid (int32_t uid, char **bundleName) |
Obtains the bundle name of an application based on the specified UID. |
ClearBundleStatusCallback (BundleStatusCallback *bundleStatusCallback) |
Clears and releases the memory occupied by the BundleStatusCallback structure. |
ClearElement (ElementName *element) |
Clears the internal data of a specified ElementName. |
SetElementDeviceID (ElementName *element, const char *deviceId) |
Sets the device ID used to query AbilityInfo. |
SetElementBundleName (ElementName *element, const char *bundleName) |
Sets the bundle name used to query AbilityInfo. |
SetElementAbilityName (ElementName *element, const char *abilityName) |
Sets the class name of the ability used to query AbilityInfo. |
ClearModuleInfo (ModuleInfo *moduleInfo) |
Clears a ModuleInfo object. |
| installType | Indicates the installation, update, or uninstallation state. The value 0 indicates that the application is being installed or updated, and 1 indicates that the application is being uninstalled. |
| resultCode | Indicates the status code returned for the application installation, update, or uninstallation result. For details, see AppexecfwkErrors. |
| resultMessage | Indicates the pointer to the result message returned with the status code. |
| bundleName | Indicates the pointer to the name of the bundle whose state has changed. |
| data | Indicates the pointer to the data that will be used by the callback upon a state change. The data is passed through BundleStatusCallback during callback registration. |
| resultCode | Indicates the status code returned for the application installation, update, or uninstallation result. For details, see AppexecfwkErrors. |
| resultMessage | Indicates the result message returned with the status code. |
| UNKNOWN | |
| PAGE | |
| SERVICE |
| ERR_OK | |
| ERR_APPEXECFWK_QUERY_PARAMETER_ERROR | Incorrect parameter for querying AbilityInfo or BundleInfo. |
| ERR_APPEXECFWK_QUERY_NO_INFOS | No AbilityInfo or BundleInfo is found. |
| ERR_APPEXECFWK_QUERY_INFOS_INIT_ERROR | An error occurred when initializing BundleInfo or AbilityInfo during information query. |
| ERR_APPEXECFWK_OBJECT_NULL | |
| ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_ERROR | Failed to install the application due to an internal logic error. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARAM_ERROR | Failed to install the application due to incorrect parameters. |
| ERR_APPEXECFWK_INSTALL_FAILED_FILE_PATH_INVALID | Failed to install the application because the installation file path is invalid. |
| ERR_APPEXECFWK_INSTALL_FAILED_FILE_NOT_EXISTS | Failed to install the application because the installation file does not exist. |
| ERR_APPEXECFWK_INSTALL_FAILED_INVALID_FILE_NAME | Failed to install the application because the installation file name is invalid. |
| ERR_APPEXECFWK_INSTALL_FAILED_BAD_FILE | Failed to install the application due to incorrect file content. |
| ERR_APPEXECFWK_INSTALL_FAILED_CREATE_FILE_ERROR | Failed to install the application due to a file creation error. |
| ERR_APPEXECFWK_INSTALL_FAILED_CREATE_PERMISSIONS_DIR_ERROR | Failed to install the application because an error occurred when creating the permission file directory. |
| ERR_APPEXECFWK_INSTALL_FAILED_RENAME_DIR_ERROR | Failed to install the application due to a path renaming error. |
| ERR_APPEXECFWK_INSTALL_FAILED_RENAME_FILE_ERROR | Failed to install the application due to a file renaming error. |
| ERR_APPEXECFWK_INSTALL_FAILED_CREATE_DATA_DIR_ERROR | Failed to install the application due to an error occurred when creating the data path. |
| ERR_APPEXECFWK_INSTALL_FAILED_RECORD_INFO_ERROR | Failed to install the application due to an error occurred when recording installation information. |
| ERR_APPEXECFWK_INSTALL_FAILED_UID_AND_GID_BACKUP_ERROR | Failed to install the application due to an error occurred when backing up the UID and GID. |
| ERR_APPEXECFWK_INSTALL_FAILED_VERSION_DOWNGRADE | Failed to install the application because an application of a later version has been installed. |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_BUNDLE_NUMBER | Failed to install the application because the number of installed applications exceeds the maximum (30). This error code is available only to basic watches. |
| ERR_APPEXECFWK_INSTALL_FAILED_STORE_PERMISSIONS_ERROR | Failed to install the application due to an error occurred when storing permission information. |
| ERR_APPEXECFWK_INSTALL_FAILED_FILE_DATA_INVALID | Failed to install the application due to invalid file data. This error code is available only to basic watches. |
| ERR_APPEXECFWK_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE | Failed to install the application due to unmatched signature used for version update. |
| ERR_APPEXECFWK_INSTALL_FAILED_INVALID_PROVISIONINFO | Failed to install the application due to unmatched provisioning information during signature verification. |
| ERR_APPEXECFWK_INSTALL_FAILED_OPERATE_SIGNED_FILE_ERROR | Failed to install the application due to an error occurred when processing the signature file. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_APP_SIGNATURE_ERROR | Failed to install the application due to an error occurred when parsing the application signature. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_SIGNATURE_ERROR | Failed to install the application due to an error occurred when parsing the file signature. |
| ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_SIGNATURE_ERROR | Failed to install the application due to an internal error during signature verification. |
| ERR_APPEXECFWK_SET_DEBUG_MODE_ERROR | Failed to install the application due to an error occurred when setting the signature verification mode. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_BUNDLENAME_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VENDOR_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONCODE_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONNAME_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PERMISSIONS_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_API_VERSION_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICE_CONFIG_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_KEEPALIVE_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULENAME_ERROR | Failed to parse the name field of the application's HAP package. The HAP information is encapsulated in a ModuleInfo object. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_MODULENAME | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULE_DESCRIPTION_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICETYPE_ERROR | Failed to parse the deviceType field of the application's HAP package. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULENAME_ERROR | Failed to parse the moduleName field of the application's HAP package. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULETYPE_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_DELIVERY_ERROR | Failed to parse the isDeliveryInstall field of the application's HAP package. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_METADATA_ERROR | Failed to parse the MetaData information. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITIES_ERROR | Failed to parse the AbilityInfo. |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_NAME_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_TYPE_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_ICONPATH_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LABEL_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_DESCRIPTION_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LAUNCHTYPE_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_VISIBLE_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME_LENGTH | |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_LABEL_LENGTH_ERROR | The parsed application label exceeds the maximum length (255 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VERSIONNAME_LENGTH_ERROR | The parsed application version name exceeds the maximum length (127 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_NAME_LENGTH_ERROR | The parsed application metadata name exceeds the maximum length (255 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_VALUE_LENGTH_ERROR | The parsed application metadata value exceeds the maximum length (255 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VENDOR_LENGTH_ERROR | The parsed application vendor name exceeds the maximum length (255 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_MODULENAME_LENGTH_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITYNAME_LENGTH_ERROR | The parsed ability class name exceeds the maximum length (127 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_DESCRIPTION_LENGTH_ERROR | The parsed ability description exceeds the maximum length (255 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_LABEL_LENGTH_ERROR | The parsed ability label exceeds the maximum length (255 bytes). |
| ERR_APPEXECFWK_INSTALL_FAILED_EXTRACTOR_NOT_INIT | |
| ERR_APPEXECFWK_INSTALL_FAILED_EXTRACT_HAP_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_JS_DIR_ERROR | Failed to parse the JavaScript path. This error code is available only to basic watches. |
| ERR_APPEXECFWK_INSTALL_FAILED_RESOURCE_INDEX_NOT_EXISTS | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_LABEL_RES_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ICON_RES_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DESCRIPTION_RES_ERROR | |
| ERR_APPEXECFWK_INSTALL_FAILED_SEND_REQUEST_ERROR | Failed to install the application due to a request sending error. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_INTERNAL_ERROR | Failed to uninstall the application due to an internal error. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_PARAM_ERROR | Failed to uninstall the application due to incorrect input parameters. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_EXISTS | Failed to uninstall the application because it does not exist. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_DIRS_ERROR | Failed to uninstall the application due to an error occurred when deleting the path. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_RECORD_INFO_ERROR | Failed to uninstall the application due to an error occurred when deleting the installation record. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_PERMISSIONS_ERROR | Failed to uninstall the application due to an error occurred when deleting the permission information. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_UNINSTALLABLE | Failed to uninstall the application because the application cannot be uninstalled. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_UID_INFO_ERROR | Failed to uninstall the application due to an error occurred when deleting the UID information. |
| ERR_APPEXECFWK_UNINSTALL_FAILED_SEND_REQUEST_ERROR | Failed to uninstall the application due to a request sending error. |
| ERR_APPEXECFWK_DUMP_ERROR | |
| ERR_APPEXECFWK_COMMAND_ERROR | |
| ERR_APPEXECFWK_CALLBACK_REGISTER_FAILED | |
| ERR_APPEXECFWK_CALLBACK_UNREGISTER_FAILED | |
| ERR_APPEXECFWK_CALLBACK_GENERATE_LOCAL_SERVICEID_FAILED | |
| ERR_APPEXECFWK_CALLBACK_SERVICEID_TRANSMITTED_FAILED | |
| ERR_APPEXECFWK_CALLBACK_NEVER_REGISTERED | |
| ERR_APPEXECFWK_CALLBACK_OBTAIN_ALL_BUNDLE_FAILED | Failed to obtain the bundle names of all applications in the system. |
| ERR_APPEXECFWK_CALLBACK_NULL_CORRESPONDING_CALLBACK | |
| ERR_APPEXECFWK_CALLBACK_GET_INSTALLTYPE_FAILED | Failed to obtain the installation type (installation or uninstallation). |
| ERR_APPEXECFWK_CALLBACK_GET_ERROR_INSTALLTYPE | |
| ERR_APPEXECFWK_SERIALIZATION_FAILED | |
| ERR_APPEXECFWK_DESERIALIZATION_FAILED | |
| ERR_APPEXECFWK_SYSTEM_INTERNAL_ERROR | |
| ERR_APPEXECFWK_NO_BUNDLENAME_FOR_UID | |
| ERR_APPEXECFWK_IPCIO_UNAVAILABLED | |
| ERR_APPEXECFWK_INVOKE_ERROR | An error occurred when calling the invoke function of the Bundle Manager Service. |
| ERR_APPEXECFWK_PERMISSION_DENIED | The server that invokes the Bundle Manager Service does not have required permission. |
| SINGLETON | |
| STANDARD |
| abilityInfo | Indicates the pointer to the AbilityInfo object to clear. |
| bundleInfo | Indicates the pointer to the BundleInfo object to clear. |
| bundleStatusCallback | Indicates the pointer to the BundleStatusCallback structure to clear. |
| element | Indicates the pointer to the ElementName to clear. |
| moduleInfo | Indicates the pointer to the ModuleInfo object to clear. |
| bundleName | Indicates the pointer to the name of the application bundle to query. |
| flags | Specifies whether the obtained BundleInfo object can contain AbilityInfo. The value 1 indicates that it can contain AbilityInfo, and 0 indicates that it cannot. |
| bundleInfo | Indicates the pointer to the obtained BundleInfo object. |
| flags | Specifies whether each of the obtained BundleInfo objects can contain AbilityInfo. The value 1 indicates that it can contain AbilityInfo, and 0 indicates that it cannot. |
| bundleInfos | Indicates the double pointer to the obtained BundleInfo objects. |
| len | Indicates the pointer to the number of BundleInfo objects obtained. |
| metaDataKey | Indicates the pointer to the metadata name in the MetaData. |
| bundleInfos | Indicates the double pointer to the obtained BundleInfo objects. |
| len | Indicates the pointer to the number of BundleInfo objects obtained. |
| uid | Indicates the UID of the application to query. |
| bundleName | Indicates the double pointer to the bundle name of the application. |
| hapPath | Indicates the pointer to the path for storing the OpenHarmony Ability Package (HAP) of the application to install or update. |
| installParam | Indicates the pointer to the parameters used for application installation or update. |
| installerCallback | Indicates the callback to be invoked for notifying the installation or update result. |
| want | Indicates the pointer to the Want structure used for querying the specified ability. |
| abilityInfo | Indicates the pointer to the obtained AbilityInfo object. |
| bundleInfos | Indicates the double pointer to the obtained BundleInfo objects. |
| len | Indicates the pointer to the number of BundleInfo objects obtained. |
| BundleStatusCallback | Indicates the pointer to the callback to be invoked when the installation, update, or uninstallation state of the monitored application changes. |
| element | Indicates the pointer to the ElementName to set. |
| abilityName | Indicates the pointer to the class name to set. |
| element | Indicates the pointer to the ElementName to set. |
| bundleName | Indicates the pointer to the bundle name to set. |
| element | Indicates the pointer to the ElementName to set. |
| deviceId | Indicates the pointer to the device ID to set. |
| bundleName | Indicates the pointer to the bundle name of the application to uninstall. |
| installParam | Indicates the pointer to the parameters used for application uninstallation. |
| installerCallback | Indicates the callback to be invoked for notifying the uninstallation result. |