目录

module_install_v2.h

概述

声明按需分发能力的API。

引用文件: <AppGalleryKit/module_install_v2.h>

库: libhmsmoduleinstall.so

系统能力: SystemCapability.AppGalleryService.Distribution.OnDemandInstall

起始版本: 26.0.1

相关模块: ModuleInstall

汇总

[h2]类型

名称 描述
typedef struct HMS_ModuleInstall_InstalledModule HMS_ModuleInstall_InstalledModule 安装模块信息。
typedef struct HMS_ModuleInstall_FetchModulesResult HMS_ModuleInstall_FetchModulesResult 安装模块结果。
typedef struct HMS_ModuleInstall_StatusCallback HMS_ModuleInstall_StatusCallback 模块安装状态回调。
typedef void (*HMS_ModuleInstall_OnStatusCallback)(char *bundleName, char *eventInfo) 监听回调函数。

[h2]枚举

名称 描述

typedef enum HMS_ModuleInstall_ErrCode {

HMS_MODULEINSTALL_NO_ERROR = 0,

HMS_MODULEINSTALL_PARAM_INVALID = 401,

HMS_MODULEINSTALL_QUERY_MODULE_FAILED = 1006500001,

HMS_MODULEINSTALL_REPEATED_CALL = 1006500002,

HMS_MODULEINSTALL_CONNECT_SA_FAILED= 1006500004,

HMS_MODULEINSTALL_OFF_WITHOUT_ON_FAILED = 1006500006,

HMS_MODULEINSTALL_CONNECT_SERVICE_FAILED = 1006500007,

HMS_MODULEINSTALL_WRITE_PARAM_FAILED = 1006500008,

HMS_MODULEINSTALL_REQUEST_SERVER_FAILED = 1006500009,

HMS_MODULEINSTALL_RESPONSE_INVALID_FAILED = 1006500010,

HMS_MODULEINSTALL_INNER_ERROR = 1006500011,

HMS_MODULEINSTALL_INTERNAL_COMMUNICATION_FAILED= 1006500012,

HMS_MODULEINSTALL_TASK_ID_INVALID = 1006500013

}

枚举错误码。

typedef enum HMS_ModuleInstall_InstallStatus {

HMS_MODULEINSTALL_STATUS_INSTALLED = 0,

HMS_MODULEINSTALL_STATUS_NOT_INSTALLED = 1

}

枚举安装状态。

typedef enum HMS_ModuleInstall_RequestCode {

HMS_MODULEINSTALL_CODE_MODULE_ALREADY_EXISTS = -8,

HMS_MODULEINSTALL_CODE_MODULE_UNAVAILABLE = -7,

HMS_MODULEINSTALL_CODE_INVALID_REQUEST = -6,

HMS_MODULEINSTALL_CODE_NETWORK_ERROR = -5,

HMS_MODULEINSTALL_CODE_INVALID_INVOKER = -4,

HMS_MODULEINSTALL_CODE_FOREGROUND_REQUIRED = -3,

HMS_MODULEINSTALL_CODE_ACTIVE_SESSION_LIMIT_EXCEEDED = -2,

HMS_MODULEINSTALL_CODE_FAILURE = -1,

HMS_MODULEINSTALL_CODE_SUCCESS = 0,

HMS_MODULEINSTALL_CODE_DOWNLOAD_WAIT_WIFI = 1

}

枚举请求码。

typedef enum HMS_ModuleInstall_TaskStatus {

HMS_MODULEINSTALL_TASK_CREATE_FAILED = -4,

HMS_MODULEINSTALL_TASK_HIGHER_VERSION_INSTALLED = -3,

HMS_MODULEINSTALL_TASK_ALREADY_EXISTS= -2,

HMS_MODULEINSTALL_TASK_UNFOUND = -1,

HMS_MODULEINSTALL_TASK_CREATED = 0,

HMS_MODULEINSTALL_TASK_DOWNLOADING = 1,

HMS_MODULEINSTALL_TASK_DOWNLOAD_PAUSED = 2,

HMS_MODULEINSTALL_TASK_DOWNLOAD_WAITING = 3,

HMS_MODULEINSTALL_TASK_DOWNLOAD_SUCCESSFUL = 4,

HMS_MODULEINSTALL_TASK_DOWNLOAD_FAILED = 5,

HMS_MODULEINSTALL_TASK_DOWNLOAD_WAIT_FOR_WIFI = 6,

HMS_MODULEINSTALL_TASK_INSTALL_WAITING = 20,

HMS_MODULEINSTALL_TASK_INSTALLING = 21,

HMS_MODULEINSTALL_TASK_INSTALL_SUCCESSFUL = 22,

HMS_MODULEINSTALL_TASK_INSTALL_FAILED = 23

}

枚举任务状态。

[h2]函数

名称 描述
HMS_ModuleInstall_ErrCode HMS_ModuleInstall_GetInstalledModuleV2(const char *moduleName, unsigned int length, HMS_ModuleInstall_InstalledModule **installedModule) 查询模块是否安装。
char *HMS_ModuleInstall_GetInstalledModuleNameV2(const HMS_ModuleInstall_InstalledModule *installedModule) 获取模块名。
int HMS_ModuleInstall_GetInstalledModuleTypeV2(const HMS_ModuleInstall_InstalledModule *installedModule) 获取模块类型。
HMS_ModuleInstall_InstallStatus HMS_ModuleInstall_GetModuleInstallStatusV2(const HMS_ModuleInstall_InstalledModule *installedModule) 获取模块安装状态。
HMS_ModuleInstall_ErrCode HMS_ModuleInstall_FetchModulesV2(const char *bundleName, unsigned int length, char **moduleNames, unsigned int moduleNamesLength, HMS_ModuleInstall_FetchModulesResult **fetchModulesResult) 请求下载模块。
HMS_ModuleInstall_RequestCode HMS_ModuleInstall_GetFetchModulesRequestCodeV2(const HMS_ModuleInstall_FetchModulesResult *fetchModulesResult) 获取模块下载请求码。
HMS_ModuleInstall_TaskStatus HMS_ModuleInstall_GetFetchModulesTaskStatusV2(const HMS_ModuleInstall_FetchModulesResult *fetchModulesResult) 获取模块下载任务状态。
char *HMS_ModuleInstall_GetFetchModulesTaskIdV2(const HMS_ModuleInstall_FetchModulesResult *fetchModulesResult) 获取模块下载任务id。
char *HMS_ModuleInstall_GetFetchModulesDescV2(const HMS_ModuleInstall_FetchModulesResult *fetchModulesResult) 获取模块下载描述。
char *HMS_ModuleInstall_GetFetchModulesV2(const HMS_ModuleInstall_FetchModulesResult *fetchModulesResult) 获取模块下载模块名。
int HMS_ModuleInstall_GetFetchModulesTotalSizeV2(const HMS_ModuleInstall_FetchModulesResult *fetchModulesResult) 获取模块下载总大小。
int HMS_ModuleInstall_GetFetchModulesDownloadedSizeV2(const HMS_ModuleInstall_FetchModulesResult *fetchModulesResult) 获取模块下载已下载大小。
HMS_ModuleInstall_ErrCode HMS_ModuleInstall_CancelTaskV2(const char *taskId, unsigned int length, unsigned int cancelResult) 取消下载任务。
HMS_ModuleInstall_ErrCode HMS_ModuleInstall_ShowCellularDataConfirmationV2(const char *taskId, unsigned int length, unsigned int showResult) 向用户展示流量提醒弹窗。
HMS_ModuleInstall_StatusCallback *HMS_ModuleInstall_CreateStatusCallbackV2(HMS_ModuleInstall_OnStatusCallback *onStatusCallback) 创建下载进度监听回调。
HMS_ModuleInstall_ErrCode HMS_ModuleInstall_OnV2(const char *bundleName, unsigned int length, unsigned int appIndex, unsigned int period, HMS_ModuleInstall_StatusCallback **callback) 下载进度监听。
void HMS_ModuleInstall_ReleaseStatusCallbackV2(HMS_ModuleInstall_StatusCallback *statusCallback) 释放监听下载进度的回调。
HMS_ModuleInstall_ErrCode HMS_ModuleInstall_OffV2(const char *bundleName, unsigned int length, unsigned int appIndex) 取消下载进度监听。
HMS_ModuleInstall_ErrCode HMS_ModuleInstall_PauseTaskV2(const char *taskId) 暂停下载任务。