BundleManager

Overview

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 and BundleInfo 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

File Name

Description

ability_info.h

Declares structures and functions for managing ability information.

appexecfwk_errors.h

Declares error codes returned by bundle management functions.

bundle_info.h

Declares structures and functions for managing application bundle information.

bundle_manager.h

Declares functions used for managing application bundles and obtaining bundle information.

element_name.h

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.

module_info.h

Declares structures and functions for managing HAP package information.

Data Structures

Data Structure Name

Description

AbilityInfo

Defines the ability information.

BundleInfo

Defines the bundle information.

ElementName

Defines the ability information.

MetaData

Defines the metadata information in a ModuleInfo object.

ModuleInfo

Defines the HAP information.

Typedefs

Typedef Name

Description

InstallerCallback) (const uint8_t resultCode, const void resultMessage)

typedef void( 

Called when an application is installed, updated, or uninstalled.

Enumerations

Enumeration Name

Description

AbilityType { UNKNOWN = 0, PAGE, SERVICE }

Enumerates types of templates used by an ability.

LaunchMode { SINGLETON = 0, STANDARD }

Enumerates startup modes of an ability.

AppexecfwkErrors {   ERR_OK = 0, ERR_APPEXECFWK_QUERY_PARAMETER_ERROR, ERR_APPEXECFWK_QUERY_NO_INFOS, ERR_APPEXECFWK_QUERY_INFOS_INIT_ERROR,   ERR_APPEXECFWK_OBJECT_NULL, ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_ERROR = 10, ERR_APPEXECFWK_INSTALL_FAILED_PARAM_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_FILE_PATH_INVALID,   ERR_APPEXECFWK_INSTALL_FAILED_FILE_NOT_EXISTS, ERR_APPEXECFWK_INSTALL_FAILED_INVALID_FILE_NAME, ERR_APPEXECFWK_INSTALL_FAILED_BAD_FILE, ERR_APPEXECFWK_INSTALL_FAILED_CREATE_FILE_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_CREATE_CODE_DIR_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_REMOVE_CODE_DIR_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_CREATE_PERMISSIONS_DIR_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_RENAME_DIR_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_RENAME_FILE_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_REMOVE_DATA_DIR_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_CREATE_DATA_DIR_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_RECORD_INFO_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_UID_AND_GID_BACKUP_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_CHOWN_DATA_DIR_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_VERSION_DOWNGRADE, ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_BUNDLE_NUMBER,   ERR_APPEXECFWK_INSTALL_FAILED_STORE_PERMISSIONS_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_FILE_DATA_INVALID, ERR_APPEXECFWK_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE, ERR_APPEXECFWK_INSTALL_FAILED_INVALID_PROVISIONINFO,   ERR_APPEXECFWK_INSTALL_FAILED_OPERATE_SIGNED_FILE_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_APP_SIGNATURE_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_SIGNATURE_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_SIGNATURE_ERROR,   ERR_APPEXECFWK_SET_DEBUG_MODE_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_ERROR = 40, 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,   ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_MODULENAME, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULE_DESCRIPTION_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICETYPE_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULENAME_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULETYPE_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_DELIVERY_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_PARSE_METADATA_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITIES_ERROR, 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, ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VERSIONNAME_LENGTH_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_NAME_LENGTH_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_METADATA_VALUE_LENGTH_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VENDOR_LENGTH_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_MODULENAME_LENGTH_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITYNAME_LENGTH_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_DESCRIPTION_LENGTH_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_LABEL_LENGTH_ERROR, ERR_APPEXECFWK_INSTALL_FAILED_EXTRACTOR_NOT_INIT, ERR_APPEXECFWK_INSTALL_FAILED_EXTRACT_HAP_ERROR,   ERR_APPEXECFWK_INSTALL_FAILED_PARSE_JS_DIR_ERROR, 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, ERR_APPEXECFWK_UNINSTALL_FAILED_INTERNAL_ERROR = 90, ERR_APPEXECFWK_UNINSTALL_FAILED_PARAM_ERROR,   ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_EXISTS, ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_DIRS_ERROR, ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_RECORD_INFO_ERROR, ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_PERMISSIONS_ERROR,   ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_UNINSTALLABLE, ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_UID_INFO_ERROR, ERR_APPEXECFWK_UNINSTALL_FAILED_SEND_REQUEST_ERROR, ERR_APPEXECFWK_DUMP_ERROR = 100,   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, ERR_APPEXECFWK_CALLBACK_NULL_CORRESPONDING_CALLBACK,   ERR_APPEXECFWK_CALLBACK_GET_INSTALLTYPE_FAILED, 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,   ERR_APPEXECFWK_PERMISSION_DENIED }

Enumerates error codes provided by the Bundle Manager Service.

Functions

Function Name

Description

ClearAbilityInfo (AbilityInfoabilityInfo)

void 

Clears an AbilityInfo object.

ClearBundleInfo (BundleInfo bundleInfo)

void 

Clears a BundleInfo object.

RegisterCallback (BundleStatusCallback BundleStatusCallback)

int32_t 

Registers a callback to monitor the installation, update, and uninstallation state changes of an application.

UnregisterCallback ()

int32_t 

Unregisters a callback previously registered for monitoring the installation, update, and uninstallation state changes of an application.

Install (const char hapPath, const InstallParam installParam, InstallerCallback installerCallback)

bool 

Installs or updates an application.

Uninstall (const char bundleName, const InstallParam installParam, InstallerCallback installerCallback)

bool 

Uninstalls an application.

QueryAbilityInfo (const Want want, AbilityInfoabilityInfo)

uint8_t 

Queries the AbilityInfo of an ability based on the information carried in the Want structure.

GetBundleInfo (const char bundleName, int32_t flags, BundleInfobundleInfo)

uint8_t 

Obtains the BundleInfo of an application based on the specified bundle name.

GetBundleInfos (const int flags, BundleInfo **bundleInfos, int32_t len)

uint8_t 

Obtains the BundleInfo of all bundles in the system.

QueryKeepAliveBundleInfos (BundleInfobundleInfos, int32_t len)

uint8_t 

Obtains the BundleInfo of all keep-alive applications in the system.

GetBundleInfosByMetaData (const char metaDataKey, BundleInfo bundleInfos, int32_t len)

uint8_t 

Obtains the BundleInfo of application bundles based on the specified MetaData.

GetBundleNameForUid (int32_t uid, char **bundleName)

uint8_t 

Obtains the bundle name of an application based on the specified UID.

ClearElement (ElementName element)

void 

Clears the internal data of a specified ElementName.

SetElementDeviceID (ElementNameelement, const char deviceId)

bool 

Sets the device ID used to query AbilityInfo.

SetElementBundleName (ElementNameelement, const char bundleName)

bool 

Sets the bundle name used to query AbilityInfo.

SetElementAbilityName (ElementNameelement, const char abilityName)

bool 

Sets the class name of the ability used to query AbilityInfo.

ClearModuleInfo (ModuleInfo *moduleInfo)

void 

Clears a ModuleInfo object.

Details

Typedef Documentation

InstallerCallback

  1. typedefvoid(*InstallerCallback)(constuint8_t resultCode,constvoid*resultMessage)

Description:

Called when an application is installed, updated, or uninstalled.

This function can be registered through Install and Uninstall to receive the installation, update, and uninstallation result.

Parameters:

Name

Description

resultCodeIndicates the status code returned for the application installation, update, or uninstallation result. For details, see AppexecfwkErrors.
resultMessageIndicates the result message returned with the status code.

Enumeration Type Documentation

AbilityType

  1. enum[AbilityType]($api-api-SmartVision-Devices-BundleManager.md#ga44b675d687acff3d739404c1227b4259)

Description:

Enumerates types of templates used by an ability.

Enumerator

Description

UNKNOWN 

Unknown

PAGE 

Page

SERVICE 

Service

AppexecfwkErrors

  1. enum[AppexecfwkErrors]($api-api-SmartVision-Devices-BundleManager.md#gac318d4f4dc0125e2367ea8c539770ed1)

Description:

Enumerates error codes provided by the Bundle Manager Service.

Enumerator

Description

ERR_OK 

The function is successfully called.

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 

The object or pointer is 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_CODE_DIR_ERROR 

Failed to install the application due to a file path creation error.

ERR_APPEXECFWK_INSTALL_FAILED_REMOVE_CODE_DIR_ERROR 

Failed to install the application due to a file path deletion 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_REMOVE_DATA_DIR_ERROR 

Failed to install the application due to an error occurred when removing the data path.

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_CHOWN_DATA_DIR_ERROR 

Failed to install the application due to an error occurred when changing ownership of the data directory.

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 

Failed to parse the file.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_BUNDLENAME_ERROR 

Failed to parse the bundle name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME 

Invalid bundle name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VENDOR_ERROR 

Failed to parse the vendor information.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONCODE_ERROR 

Failed to parse the version code.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONNAME_ERROR 

Failed to parse the version name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PERMISSIONS_ERROR 

Failed to parse the installation permission information.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_API_VERSION_ERROR 

Failed to parse the API version.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICE_CONFIG_ERROR 

Failed to parse the device configuration.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_KEEPALIVE_ERROR 

Failed to parse the isKeepAlive field of the application.

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 

Invalid HAP name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULE_DESCRIPTION_ERROR 

Failed to parse the HAP description information.

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 

Failed to parse the HAP information.

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 

Invalid HAP type.

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 

Failed to parse the class name of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_TYPE_ERROR 

Failed to parse the template used by the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_ICONPATH_ERROR 

Failed to parse the icon path of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LABEL_ERROR 

Failed to parse the label of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_DESCRIPTION_ERROR 

Failed to parse the description of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LAUNCHTYPE_ERROR 

Failed to parse the startup mode of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_VISIBLE_ERROR 

Failed to parse the isVisible field of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME_LENGTH 

Invalid length of the bundle name.

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 

The parsed HAP name exceeds the maximum length (31 bytes).

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 

Failed to initialize the extractor.

ERR_APPEXECFWK_INSTALL_FAILED_EXTRACT_HAP_ERROR 

Failed to extract hap.

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 

The resource index does not exist.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_LABEL_RES_ERROR 

Failed to parse the label resource.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ICON_RES_ERROR 

Failed to parse the icon resource.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DESCRIPTION_RES_ERROR 

Failed to parse the description resource.

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 

Incorrect dump information.

ERR_APPEXECFWK_COMMAND_ERROR 

Incorrect command.

ERR_APPEXECFWK_CALLBACK_REGISTER_FAILED 

Failed to register the callback.

ERR_APPEXECFWK_CALLBACK_UNREGISTER_FAILED 

Failed to unregister the callback.

ERR_APPEXECFWK_CALLBACK_GENERATE_LOCAL_SERVICEID_FAILED 

Failed to generate a service ID for the current process.

ERR_APPEXECFWK_CALLBACK_SERVICEID_TRANSMITTED_FAILED 

Failed to transmit the service ID of the current process.

ERR_APPEXECFWK_CALLBACK_NEVER_REGISTERED 

The callback is 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 

The required callback is unavailable.

ERR_APPEXECFWK_CALLBACK_GET_INSTALLTYPE_FAILED 

Failed to obtain the installation type (installation or uninstallation).

ERR_APPEXECFWK_CALLBACK_GET_ERROR_INSTALLTYPE 

Incorrect installation type.

ERR_APPEXECFWK_SERIALIZATION_FAILED 

Serialization failed.

ERR_APPEXECFWK_DESERIALIZATION_FAILED 

Deserialization failed.

ERR_APPEXECFWK_SYSTEM_INTERNAL_ERROR 

Internal system error.

ERR_APPEXECFWK_NO_BUNDLENAME_FOR_UID 

No bundle name associated with the UID is found.

ERR_APPEXECFWK_IPCIO_UNAVAILABLED 

The IpcIo structure is unavailable.

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.

LaunchMode

  1. enum[LaunchMode]($api-api-SmartVision-Devices-BundleManager.md#ga605d46d860e356a74db6842e66522854)

Description:

Enumerates startup modes of an ability.

Enumerator

Description

SINGLETON 

Singleton mode, allowing only one instance

STANDARD 

Standard mode, allowing multiple instances

Function Documentation

ClearAbilityInfo()

  1. voidClearAbilityInfo([AbilityInfo]($api-api-SmartVision-Devices-AbilityInfo.md)* abilityInfo)

Description:

Clears an AbilityInfo object.

This function clears and releases the memory occupied by the fields of the pointer type included in the specified AbilityInfo object.

Parameters:

Name

Description

abilityInfoIndicates the pointer to the AbilityInfo object to clear.

ClearBundleInfo()

  1. voidClearBundleInfo([BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md)* bundleInfo)

Description:

Clears a BundleInfo object.

This function clears and releases the memory occupied by the fields of the pointer type included in the specified BundleInfo object.

Parameters:

Name

Description

bundleInfoIndicates the pointer to the BundleInfo object to clear.

ClearElement()

  1. voidClearElement([ElementName]($api-api-SmartVision-Devices-ElementName.md)* element)

Description:

Clears the internal data of a specified ElementName.

After AbilityInfo is queried, clear the internal data of an ElementName if it is no longer required.

Parameters:

Name

Description

elementIndicates the pointer to the ElementName to clear.

ClearModuleInfo()

  1. voidClearModuleInfo([ModuleInfo]($api-api-SmartVision-Devices-ModuleInfo.md)* moduleInfo)

Description:

Clears a ModuleInfo object.

This function clears and releases the memory occupied by the fields of the pointer type included in the specified ModuleInfo object.

Parameters:

Name

Description

moduleInfoIndicates the pointer to the ModuleInfo object to clear.

GetBundleInfo()

  1. uint8_tGetBundleInfo(constchar* bundleName,int32_t flags,[BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md)* bundleInfo )

Description:

Obtains the BundleInfo of an application based on the specified bundle name.

Parameters:

Name

Description

bundleNameIndicates the pointer to the name of the application bundle to query.
flagsSpecifies whether the obtained BundleInfo object can contain AbilityInfo. The value 1 indicates that it can contain AbilityInfo, and 0 indicates that it cannot.
bundleInfoIndicates the pointer to the obtained BundleInfo object.

Attention:

Before querying a BundleInfo object, you should first call memset on the constructed BundleInfo object so that each field in it can be properly initialized for carrying the obtained information.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

GetBundleInfos()

  1. uint8_tGetBundleInfos(constint flags,[BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md)** bundleInfos,int32_t* len )

Description:

Obtains the BundleInfo of all bundles in the system.

Parameters:

Name

Description

flagsSpecifies 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.
bundleInfosIndicates the double pointer to the obtained BundleInfo objects.
lenIndicates the pointer to the number of BundleInfo objects obtained.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

GetBundleInfosByMetaData()

  1. uint8_tGetBundleInfosByMetaData(constchar* metaDataKey,[BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md)** bundleInfos,int32_t* len )

Description:

Obtains the BundleInfo of application bundles based on the specified MetaData.

Parameters:

Name

Description

metaDataKeyIndicates the pointer to the metadata name in the MetaData.
bundleInfosIndicates the double pointer to the obtained BundleInfo objects.
lenIndicates the pointer to the number of BundleInfo objects obtained.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

GetBundleNameForUid()

  1. uint8_tGetBundleNameForUid(int32_t uid,char** bundleName )

Description:

Obtains the bundle name of an application based on the specified UID.

Parameters:

Name

Description

uidIndicates the UID of the application to query.
bundleNameIndicates the double pointer to the bundle name of the application.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

Install()

  1. boolInstall(constchar* hapPath,constInstallParam* installParam,[InstallerCallback]($api-api-SmartVision-Devices-BundleManager.md#ga00f021e76d728d2d44e1a28887ccc3af) installerCallback )

Description:

Installs or updates an application.

Parameters:

Name

Description

hapPathIndicates the pointer to the path for storing the OpenHarmony Ability Package (HAP) of the application to install or update.
bundleCallbackIndicates the callback to be invoked for notifying the installation or update result.

Returns:

Returns true if this function is successfully called; returns false otherwise.

QueryAbilityInfo()

  1. uint8_tQueryAbilityInfo(const[Want]($api-api-SmartVision-Devices-Want.md)* want,[AbilityInfo]($api-api-SmartVision-Devices-AbilityInfo.md)* abilityInfo )

Description:

Queries the AbilityInfo of an ability based on the information carried in the Want structure.

Parameters:

Name

Description

wantIndicates the pointer to the Want structure used for querying the specified ability.
abilityInfoIndicates the pointer to the obtained AbilityInfo object.

Attention:

Before querying an AbilityInfo object, you should first call memset on the constructed AbilityInfo object so that each field in it can be properly initialized for carrying the obtained information.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

QueryKeepAliveBundleInfos()

  1. uint8_tQueryKeepAliveBundleInfos([BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md)** bundleInfos,int32_t* len )

Description:

Obtains the BundleInfo of all keep-alive applications in the system.

Parameters:

Name

Description

bundleInfosIndicates the double pointer to the obtained BundleInfo objects.
lenIndicates the pointer to the number of BundleInfo objects obtained.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

RegisterCallback()

  1. int32_tRegisterCallback(BundleStatusCallback*BundleStatusCallback)

Description:

Registers a callback to monitor the installation, update, and uninstallation state changes of an application.

Parameters:

Name

Description

bundleCallbackIndicates the callback to be invoked when the installation, update, or uninstallation state of the monitored application changes.
bundleNameIndicates the pointer to the bundle name of the application to monitor. If this parameter is set to nullptr, the installation, update, or uninstallation state of all applications will be monitored.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

SetElementAbilityName()

  1. boolSetElementAbilityName([ElementName]($api-api-SmartVision-Devices-ElementName.md)* element,constchar* abilityName )

Description:

Sets the class name of the ability used to query AbilityInfo.

Parameters:

Name

Description

elementIndicates the pointer to the ElementName to set.
abilityNameIndicates the pointer to the class name to set.

Returns:

Returns true if the setting is successful; returns false otherwise.

SetElementBundleName()

  1. boolSetElementBundleName([ElementName]($api-api-SmartVision-Devices-ElementName.md)* element,constchar* bundleName )

Description:

Sets the bundle name used to query AbilityInfo.

Parameters:

Name

Description

elementIndicates the pointer to the ElementName to set.
bundleNameIndicates the pointer to the bundle name to set.

Returns:

Returns true if the setting is successful; returns false otherwise.

SetElementDeviceID()

  1. boolSetElementDeviceID([ElementName]($api-api-SmartVision-Devices-ElementName.md)* element,constchar* deviceId )

Description:

Sets the device ID used to query AbilityInfo.

Parameters:

Name

Description

elementIndicates the pointer to the ElementName to set.
deviceIdIndicates the pointer to the device ID to set.

Returns:

Returns true if the setting is successful; returns false otherwise.

Uninstall()

  1. boolUninstall(constchar* bundleName,constInstallParam* installParam,[InstallerCallback]($api-api-SmartVision-Devices-BundleManager.md#ga00f021e76d728d2d44e1a28887ccc3af) installerCallback )

Description:

Uninstalls an application.

Parameters:

Name

Description

bundleNameIndicates the pointer to the bundle name of the application to uninstall.
bundleCallbackIndicates the callback to be invoked for notifying the uninstallation result.

Returns:

Returns true if this function is successfully called; returns false otherwise.

UnregisterCallback()

  1. int32_tUnregisterCallback()

Description:

Unregisters a callback previously registered for monitoring the installation, update, and uninstallation state changes of an application.

Parameters:

Name

Description

bundleNameIndicates the pointer to the bundle name of the application being monitored. If this parameter is set to nullptr, monitoring on the installation, update, or uninstallation state of all applications will be canceled.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.