harmony 鸿蒙@ohos.update (升级)

  • 2022-08-09
  • 浏览 (1128)

@ohos.update (升级)

升级范围:升级整个系统,包括内置资源和预置应用,不包括三方应用。

升级类型:SD卡升级、在线升级。

  • SD卡升级依赖升级包和SD卡安装。

  • 在线升级依赖设备厂商部署的用于管理升级包的服务器。服务器由设备厂商部署,IP由调用者传入,请求的request接口是固定的,由设备厂商开发。

说明:

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口为系统接口。

导入模块

import update from '@ohos.update'

update.getOnlineUpdater

getOnlineUpdater(upgradeInfo: UpgradeInfo): Updater

获取在线升级对象。

系统能力:SystemCapability.Update.UpdateService

参数:

参数名 类型 必填 说明
upgradeInfo UpgradeInfo 升级对象信息。

返回值:

类型 说明
Updater 升级对象。

示例:

try {
      const upgradeInfo: update.UpgradeInfo = {
        upgradeApp: "com.ohos.ota.updateclient",
        businessType: {
          vendor: update.BusinessVendor.PUBLIC,
          subType: update.BusinessSubType.FIRMWARE
        }
      };
      let updater = update.getOnlineUpdater(upgradeInfo);
    } catch(error) {
      console.error(`Fail to get updater error: ${error}`);
    }

update.getRestorer

getRestorer(): Restorer

获取恢复出厂设置对象。

系统能力:SystemCapability.Update.UpdateService

返回值:

类型 说明
Restorer 恢复出厂对象。

示例:

try {
  let restorer = update.getRestorer();
} catch(error) {
  console.error(`Fail to get restorer: ${error}`);
}

update.getLocalUpdater

getLocalUpdater(): LocalUpdater

获取本地升级对象。

系统能力:SystemCapability.Update.UpdateService

返回值:

类型 说明
LocalUpdater 本地升级对象。

示例:

try {
  let localUpdater = update.getLocalUpdater();
} catch(error) {
  console.error(`Fail to get localUpdater error: ${error}`);
};

Updater

checkNewVersion

checkNewVersion(callback: AsyncCallback<CheckResult>): void

检查新版本信息。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
callback AsyncCallback<CheckResult> 回调函数,返回搜包结果对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.checkNewVersion((err: BusinessError, result: update.CheckResult) => {
      console.log(`checkNewVersion isExistNewVersion  ${result?.isExistNewVersion}`);
    });

checkNewVersion

checkNewVersion(): Promise<CheckResult>

检查新版本信息。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

返回值:

类型 说明
Promise<CheckResult> Promise对象,返回搜包结果对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.checkNewVersion()
      .then((result: update.CheckResult) => {
        console.log(`checkNewVersion isExistNewVersion: ${result.isExistNewVersion}`);
        // 版本摘要信息
        console.log(`checkNewVersion versionDigestInfo: ${result.newVersionInfo.versionDigestInfo.versionDigest}`);
      })
      .catch((err: BusinessError)=>{
        console.log(`checkNewVersion promise error ${JSON.stringify(err)}`);
      })

getNewVersionInfo

getNewVersionInfo(callback: AsyncCallback<NewVersionInfo>): void

获取新版本信息。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
callback AsyncCallback<NewVersionInfo> 回调函数,返回新版本信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getNewVersionInfo((err: BusinessError, info: update.NewVersionInfo) => {
      console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
      console.log(`info innerVersion = ${info?.versionComponents[0].innerVersion}`);
});

getNewVersionInfo

getNewVersionInfo(): Promise<NewVersionInfo>

获取新版本信息。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

返回值:

类型 说明
Promise<NewVersionInfo> Promise对象,返回新版本信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getNewVersionInfo().then((info: update.NewVersionInfo) => {
    console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
    console.log(`info innerVersion = ${info.versionComponents[0].innerVersion}`);
}).catch((err: BusinessError) => {
    console.log(`getNewVersionInfo promise error ${JSON.stringify(err)}`);
});

getNewVersionDescription

getNewVersionDescription(versionDigestInfo: VersionDigestInfo, descriptionOptions: DescriptionOptions, callback: AsyncCallback<Array<ComponentDescription>>): void

获取新版本描述文件。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
descriptionOptions DescriptionOptions 描述文件选项。
callback AsyncCallback<Array<ComponentDescription>> 回调函数,返回新版本描述文件。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 描述文件选项
const descriptionOptions: update.DescriptionOptions = {
  format: update.DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
};

updater.getNewVersionDescription(versionDigestInfo, descriptionOptions).then((info: Array<update.ComponentDescription>)=> {
  console.log(`getNewVersionDescription promise info ${JSON.stringify(info)}`);
}).catch((err: BusinessError) => {
  console.log(`getNewVersionDescription promise error ${JSON.stringify(err)}`);
});

getNewVersionDescription

getNewVersionDescription(versionDigestInfo: VersionDigestInfo, descriptionOptions: DescriptionOptions): Promise<Array<ComponentDescription>>;

获取新版本描述文件。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
descriptionOptions DescriptionOptions 描述文件选项。

返回值:

类型 说明
Promise<Array<ComponentDescription>> Promise对象,返回新版本描述文件。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 描述文件选项
const descriptionOptions: update.DescriptionOptions = {
  format: update.DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
};

updater.getNewVersionDescription(versionDigestInfo, descriptionOptions).then((info: Array<update.ComponentDescription>)=> {
  console.log(`getNewVersionDescription promise info ${JSON.stringify(info)}`);
}).catch((err: BusinessError) => {
  console.log(`getNewVersionDescription promise error ${JSON.stringify(err)}`);
});

getCurrentVersionInfo

getCurrentVersionInfo(callback: AsyncCallback<CurrentVersionInfo>): void

获取当前版本信息。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
callback AsyncCallback<CurrentVersionInfo> 回调函数,返回当前版本信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getCurrentVersionInfo((err: BusinessError, info: update.CurrentVersionInfo) => {
  console.log(`info osVersion = ${info?.osVersion}`);
  console.log(`info deviceName = ${info?.deviceName}`);
  console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
});

getCurrentVersionInfo

getCurrentVersionInfo(): Promise<CurrentVersionInfo>

获取当前版本信息。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

返回值:

类型 说明
Promise<CurrentVersionInfo> Promise对象,返回当前版本信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getCurrentVersionInfo().then((info: update.CurrentVersionInfo) => {
  console.log(`info osVersion = ${info.osVersion}`);
  console.log(`info deviceName = ${info.deviceName}`);
  console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
}).catch((err: BusinessError) => {
  console.log(`getCurrentVersionInfo promise error ${JSON.stringify(err)}`);
});

getCurrentVersionDescription

getCurrentVersionDescription(descriptionOptions: DescriptionOptions, callback: AsyncCallback<Array<ComponentDescription>>): void

获取当前版本描述文件。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
descriptionOptions DescriptionOptions 描述文件选项。
callback AsyncCallback<Array<ComponentDescription>> 回调函数,返回当前版本描述文件。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

// 描述文件选项
const descriptionOptions: update.DescriptionOptions = {
  format: update.DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
};

updater.getCurrentVersionDescription(descriptionOptions, (err, info) => {
  console.log(`getCurrentVersionDescription info ${JSON.stringify(info)}`);
  console.log(`getCurrentVersionDescription err ${JSON.stringify(err)}`);
});

getCurrentVersionDescription

getCurrentVersionDescription(descriptionOptions: DescriptionOptions): Promise<Array<ComponentDescription>>

获取当前版本描述文件。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
descriptionOptions DescriptionOptions 描述文件选项。

返回值:

类型 说明
Promise<Array<ComponentDescription>> Promise对象,返回当前版本描述文件。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 描述文件选项
const descriptionOptions: update.DescriptionOptions = {
  format: update.DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
};
updater.getCurrentVersionDescription(descriptionOptions).then((info: Array<update.ComponentDescription>) => {
  console.log(`getCurrentVersionDescription promise info ${JSON.stringify(info)}`);
}).catch((err: BusinessError) => {
  console.log(`getCurrentVersionDescription promise error ${JSON.stringify(err)}`);
});

getTaskInfo

getTaskInfo(callback: AsyncCallback<TaskInfo>): void

获取升级任务信息。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
callback AsyncCallback<TaskInfo> 回调函数,返回升级任务信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getTaskInfo((err: BusinessError, info: update.TaskInfo) => {
  console.log(`getTaskInfo isexistTask= ${info?.existTask}`);
});

getTaskInfo

getTaskInfo(): Promise<TaskInfo>

获取升级任务信息。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

返回值:

类型 说明
Promise<TaskInfo> Promise对象,返回任务信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getTaskInfo().then((info: update.TaskInfo) => {
  console.log(`getTaskInfo isexistTask= ${info.existTask}`);
}).catch((err: BusinessError) => {
  console.log(`getTaskInfo promise error ${JSON.stringify(err)}`);
});

download

download(versionDigestInfo: VersionDigestInfo, downloadOptions: DownloadOptions, callback: AsyncCallback<void>): void

下载新版本。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
downloadOptions DownloadOptions 下载选项。
callback AsyncCallback<void> 回调函数。当下载成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 下载选项
const downloadOptions: update.DownloadOptions = {
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
  order: update.Order.DOWNLOAD // 下载
};
updater.download(versionDigestInfo, downloadOptions, (err: BusinessError) => {
  console.log(`download error ${JSON.stringify(err)}`);
});

download

download(versionDigestInfo: VersionDigestInfo, downloadOptions: DownloadOptions): Promise<void>

下载新版本。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
downloadOptions DownloadOptions 下载选项。

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 下载选项
const downloadOptions: update.DownloadOptions = {
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
   order: update.Order.DOWNLOAD // 下载
};
updater.download(versionDigestInfo, downloadOptions).then(() => {
  console.log(`download start`);
}).catch((err: BusinessError) => {
  console.log(`download error ${JSON.stringify(err)}`);
});

resumeDownload

resumeDownload(versionDigestInfo: VersionDigestInfo, resumeDownloadOptions: ResumeDownloadOptions, callback: AsyncCallback<void>): void

恢复下载新版本。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
resumeDownloadOptions ResumeDownloadOptions 恢复下载选项。
callback AsyncCallback<void> 回调函数。当恢复下载成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo : update.VersionDigestInfo= {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 恢复下载选项
const resumeDownloadOptions : update.ResumeDownloadOptions= {
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
};
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions, (err: BusinessError) => {
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
});

resumeDownload

resumeDownload(versionDigestInfo: VersionDigestInfo, resumeDownloadOptions: ResumeDownloadOptions): Promise<void>

恢复下载新版本。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
resumeDownloadOptions ResumeDownloadOptions 恢复下载选项。

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 恢复下载选项
const resumeDownloadOptions: update.ResumeDownloadOptions = {
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
};
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions).then(() => {
  console.log(`resumeDownload start`);
}).catch((err: BusinessError) => {
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
});

pauseDownload

pauseDownload(versionDigestInfo: VersionDigestInfo, pauseDownloadOptions: PauseDownloadOptions, callback: AsyncCallback<void>): void

暂停下载新版本。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
pauseDownloadOptions PauseDownloadOptions 暂停下载选项。
callback AsyncCallback<void> 回调函数。当暂停下载成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 暂停下载选项
const pauseDownloadOptions: update.PauseDownloadOptions = {
  isAllowAutoResume: true // 允许自动恢复下载
};
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions, (err: BusinessError) => {
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
});

pauseDownload

pauseDownload(versionDigestInfo: VersionDigestInfo, pauseDownloadOptions: PauseDownloadOptions): Promise<void>

恢复下载新版本。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
pauseDownloadOptions PauseDownloadOptions 暂停下载选项。

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 暂停下载选项
const pauseDownloadOptions: update.PauseDownloadOptions = {
  isAllowAutoResume: true // 允许自动恢复下载
};
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions).then(() => {
  console.log(`pauseDownload`);
}).catch((err: BusinessError)  => {
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
});

upgrade

upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions, callback: AsyncCallback<void>): void

升级新版本。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
upgradeOptions UpgradeOptions 更新选项。
callback AsyncCallback<void> 回调函数。当升级执行成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 安装选项
const upgradeOptions: update.UpgradeOptions = {
  order: update.Order.INSTALL // 安装指令
};
updater.upgrade(versionDigestInfo, upgradeOptions, (err: BusinessError) => {
  console.log(`upgrade error ${JSON.stringify(err)}`);
});

upgrade

upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions): Promise<void>

升级新版本。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
upgradeOptions UpgradeOptions 更新选项。

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 安装选项
const upgradeOptions: update.UpgradeOptions = {
  order: update.Order.INSTALL // 安装指令
};
updater.upgrade(versionDigestInfo, upgradeOptions).then(() => {
  console.log(`upgrade start`);
}).catch((err: BusinessError) => {
  console.log(`upgrade error ${JSON.stringify(err)}`);
});

clearError

clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions, callback: AsyncCallback<void>): void

清除异常状态。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
clearOptions ClearOptions 清除选项。
callback AsyncCallback<void> 回调函数。当清除异常成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 清除选项
const clearOptions: update.ClearOptions = {
  status: update.UpgradeStatus.UPGRADE_FAIL,
};
updater.clearError(versionDigestInfo, clearOptions, (err: BusinessError) => {
  console.log(`clearError error ${JSON.stringify(err)}`);
});

clearError

clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions): Promise<void>

清除异常状态。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要信息。
clearOptions ClearOptions 更新选项。

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

// 版本摘要信息
const versionDigestInfo: update.VersionDigestInfo = {
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
};

// 清除选项
const clearOptions: update.ClearOptions = {
  status: update.UpgradeStatus.UPGRADE_FAIL,
};
updater.clearError(versionDigestInfo, clearOptions).then(() => {
  console.log(`clearError success`);
}).catch((err: BusinessError) => {
  console.log(`clearError error ${JSON.stringify(err)}`);
});

getUpgradePolicy

getUpgradePolicy(callback: AsyncCallback<UpgradePolicy>): void

获取升级策略信息。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
callback AsyncCallback<UpgradePolicy> 回调函数,返回升级策略信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getUpgradePolicy(err: BusinessError, policy: update.UpgradePolicy) => {
  console.log(`policy downloadStrategy = ${policy?.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy?.autoUpgradeStrategy}`);
});

getUpgradePolicy

getUpgradePolicy(): Promise<UpgradePolicy>

获取升级策略,通过promise方式作为异步方法。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

返回值:

类型 说明
Promise<UpgradePolicy> Promise对象,返回升级策略信息对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.getUpgradePolicy().then((policy: update.UpgradePolicy) => {
  console.log(`policy downloadStrategy = ${policy.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy.autoUpgradeStrategy}`);
}).catch((err: BusinessError)  => {
  console.log(`getUpgradePolicy promise error ${JSON.stringify(err)}`);
});

setUpgradePolicy

setUpgradePolicy(policy: UpgradePolicy, callback: AsyncCallback<void>): void

设置升级策略。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
policy UpgradePolicy 升级策略。
callback AsyncCallback<void> 回调函数,返回设置结果对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

const policy: update.UpgradePolicy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
  autoUpgradePeriods: [{ start: 120, end: 240 }] // 自动升级时间段,用分钟表示
};
updater.setUpgradePolicy(policy, (err: BusinessError) => {
  console.log(`setUpgradePolicy result: ${err}`);
});

setUpgradePolicy

setUpgradePolicy(policy: UpgradePolicy): Promise<void>

设置升级策略。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
policy UpgradePolicy 升级策略。

返回值:

类型 说明
Promise<void> Promise对象。 无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

const policy: update.UpgradePolicy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
};
updater.setUpgradePolicy(policy).then(() => {
  console.log(`setUpgradePolicy success`);
}).catch((err: BusinessError) => {
  console.log(`setUpgradePolicy promise error ${JSON.stringify(err)}`);
});

terminateUpgrade

terminateUpgrade(callback: AsyncCallback<void>): void

终止升级。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 回调函数。当清除升级缓存成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.terminateUpgrade((err: BusinessError) => {
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
});

terminateUpgrade

terminateUpgrade(): Promise<void>

终止升级。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

updater.terminateUpgrade().then(() => {
  console.log(`terminateUpgrade success`);
}).catch((err: BusinessError) => {
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
});

on

on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void

注册事件监听。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

参数:

参数名 类型 必填 说明
eventClassifyInfo EventClassifyInfo 事件信息。
taskCallback UpgradeTaskCallback 事件回调。

示例:

const eventClassifyInfo: update.EventClassifyInfo = {
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
  extraInfo: ""
};

updater.on(eventClassifyInfo, (eventInfo: update.EventInfo) => {
  console.log("updater on " + JSON.stringify(eventInfo));
});

off

off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void

取消注册事件监听。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

参数:

参数名 类型 必填 说明
eventClassifyInfo EventClassifyInfo 事件信息。
taskCallback UpgradeTaskCallback 事件回调。

示例:

const eventClassifyInfo: update.EventClassifyInfo = {
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
  extraInfo: ""
};

updater.off(eventClassifyInfo, (eventInfo: update.EventInfo) => {
  console.log("updater off " + JSON.stringify(eventInfo));
});

Restorer

factoryReset

factoryReset(callback: AsyncCallback<void>): void

恢复出厂设置。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.FACTORY_RESET

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 回调函数。当恢复出厂执行成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

restorer.factoryReset((err) => {
  console.log(`factoryReset error ${JSON.stringify(err)}`);
});

factoryReset

factoryReset(): Promise<void>

恢复出厂设置。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.FACTORY_RESET

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

restorer.factoryReset().then(() => {
  console.log(`factoryReset success`);
}).catch((err: BusinessError) => {
  console.log(`factoryReset error ${JSON.stringify(err)}`);
});

LocalUpdater

verifyUpgradePackage

verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string, callback: AsyncCallback<void>): void

校验升级包。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
upgradeFile UpgradeFile 升级文件。
certsFile string 证书文件路径。
callback AsyncCallback<void> 回调函数,返回升级包校验结果对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

const upgradeFile: update.UpgradeFile = {
  fileType: update.ComponentType.OTA, // OTA包
  filePath: "path" // 本地升级包路径
};

localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath", (err) => {
  console.log(`factoryReset error ${JSON.stringify(err)}`);
});

verifyUpgradePackage

verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise<void>

校验升级包。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
upgradeFile UpgradeFile 升级文件。
certsFile string 证书文件路径。

返回值:

类型 说明
Promise<void> Promise对象,返回升级包校验结果对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

const upgradeFile: update.UpgradeFile = {
  fileType: update.ComponentType.OTA, // OTA包
  filePath: "path" // 本地升级包路径
};
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath").then(() => {
  console.log(`verifyUpgradePackage success`);
}).catch((err: BusinessError) => {
  console.log(`verifyUpgradePackage error ${JSON.stringify(err)}`);
});

applyNewVersion

applyNewVersion(upgradeFiles: Array<UpgradeFile>, callback: AsyncCallback<void>): void

安装升级包。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

参数:

参数名 类型 必填 说明
upgradeFile Array<UpgradeFile> 升级文件。
callback AsyncCallback<void> 回调函数。当安装升级包执行成功时,err为undefined,否则为错误对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

const upgradeFiles: Array<update.UpgradeFile> = [{
  fileType: update.ComponentType.OTA, // OTA包
  filePath: "path" // 本地升级包路径
}];

localUpdater.applyNewVersion(upgradeFiles, (err) => {
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
});

applyNewVersion

applyNewVersion(upgradeFiles: Array<UpgradeFile>): Promise<void>

安装升级包。使用Promise异步回调。

系统能力:SystemCapability.Update.UpdateService

需要权限:ohos.permission.UPDATE_SYSTEM

返回值:

类型 说明
Promise<void> Promise对象。无返回结果的Promise对象。

错误码

以下的错误码的详细介绍请参见升级错误码

错误码ID 错误信息
11500104 IPC error.

示例:

import { BusinessError } from '@ohos.base';

const upgradeFiles: Array<update.UpgradeFile> = [{
  fileType: update.ComponentType.OTA, // OTA包
  filePath: "path" // 本地升级包路径
}];
localUpdater.applyNewVersion(upgradeFiles).then(() => {
  console.log(`applyNewVersion success`);
}).catch((err: BusinessError) => {
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
});

on

on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void

注册事件监听。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

参数:

参数名 类型 必填 说明
eventClassifyInfo EventClassifyInfo 事件信息。
taskCallback UpgradeTaskCallback 事件回调。

示例:

const eventClassifyInfo: update.EventClassifyInfo = {
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
  extraInfo: ""
};

let onTaskUpdate: update.UpgradeTaskCallback = (eventInfo: update.EventInfo) => {
  console.log(`on eventInfo id `, eventInfo.eventId);
};

localUpdater.on(eventClassifyInfo, onTaskUpdate);

off

off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void

取消注册事件监听。使用callback异步回调。

系统能力:SystemCapability.Update.UpdateService

参数:

参数名 类型 必填 说明
eventClassifyInfo EventClassifyInfo 事件信息。
taskCallback UpgradeTaskCallback 事件回调。

示例:

const eventClassifyInfo: update.EventClassifyInfo = {
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
  extraInfo: ""
};

let onTaskUpdate: update.UpgradeTaskCallback = (eventInfo: update.EventInfo) => {
  console.log(`on eventInfo id `, eventInfo.eventId);
};

localUpdater.off(eventClassifyInfo, onTaskUpdate);

UpgradeInfo

升级信息。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
upgradeApp string 调用方包名。
businessType BusinessType 升级业务类型。

BusinessType

升级业务类型。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
vendor BusinessVendor 供应商/厂家。
subType BusinessSubType 升级类型。

CheckResult

搜包结果。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
isExistNewVersion boolean 是否有新版本。
ture表示有新版本,false表示没有新版本。
newVersionInfo NewVersionInfo 新版本数据。

NewVersionInfo

新版本数据。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要。
versionComponents Array<VersionComponent> 版本组件。

VersionDigestInfo

版本摘要。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
versionDigest string 版本摘要。

VersionComponent

版本组件。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
componentId string 组件标识。
componentType ComponentType 组件类型。
upgradeAction UpgradeAction 升级方式。
displayVersion string 显示版本号。
innerVersion string 版本号。
size number 升级包大小,单位为B。
effectiveMode EffectiveMode 生效模式。
descriptionInfo DescriptionInfo 版本描述文件信息。

DescriptionOptions

描述文件选项。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
format DescriptionFormat 描述文件格式。
language string 描述文件语言。

ComponentDescription

组件描述文件。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
componentId string 组件标识。
descriptionInfo DescriptionInfo 描述文件信息。

DescriptionInfo

版本描述文件信息。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
descriptionType DescriptionType 描述文件类型。
content string 描述文件内容。

CurrentVersionInfo

当前版本信息。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
osVersion string 系统版本号。
deviceName string 设备名。
versionComponents Array<VersionComponent> 版本组件。

DownloadOptions

下载选项。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
allowNetwork NetType 网络类型。
order Order 升级指令。

ResumeDownloadOptions

恢复下载选项。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
allowNetwork NetType 网络类型。

PauseDownloadOptions

暂停下载选项。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
isAllowAutoResume boolean 是否允许自动恢复。
ture表示允许自动恢复,false表示不允许。

UpgradeOptions

升级选项。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
order Order 升级指令。

ClearOptions

清除异常选项。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
status UpgradeStatus 异常状态。

UpgradePolicy

升级策略。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
downloadStrategy boolean 自动下载策略。
ture表示可自动下载,false表示不可自动下载。
autoUpgradeStrategy boolean 自动升级策略。
ture表示可自动升级,false表示不可自动升级。
autoUpgradePeriods Array<UpgradePeriod> 自动升级时间段。

UpgradePeriod

升级时间段。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
start number 开始时间。
end number 结束时间。

TaskInfo

任务信息。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
existTask boolean 是否存在任务。
ture表示存在,false表示不存在。
taskBody TaskBody 任务数据。

EventInfo

事件信息。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
eventId EventId 事件ID。
taskBody TaskBody 任务数据。

TaskBody

任务数据。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
versionDigestInfo VersionDigestInfo 版本摘要。
status UpgradeStatus 升级状态。
subStatus number 子状态。
progress number 进度。
installMode number 安装模式。
errorMessages Array<ErrorMessage> 错误信息。
versionComponents Array<VersionComponent> 版本组件。

ErrorMessage

错误信息。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
errorCode number 错误码。
errorMessage string 错误描述。

EventClassifyInfo

事件信息。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
eventClassify EventClassify 事件类型。
extraInfo string 额外信息。

UpgradeFile

升级文件。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
fileType ComponentType 文件类型。
filePath string 文件路径。

UpgradeTaskCallback

(eventInfo: EventInfo): void

事件回调。

系统能力:SystemCapability.Update.UpdateService

名称 类型 必填 说明
eventInfo EventInfo 事件信息。

BusinessVendor

设备厂家。

系统能力:SystemCapability.Update.UpdateService

名称 说明
PUBLIC “public” 开源。

BusinessSubType

升级类型。

系统能力:SystemCapability.Update.UpdateService

名称 说明
FIRMWARE 1 固件。

ComponentType

组件类型。

系统能力:SystemCapability.Update.UpdateService

名称 说明
OTA 1 固件。

UpgradeAction

升级方式。

系统能力:SystemCapability.Update.UpdateService

名称 说明
UPGRADE “upgrade” 差分包。
RECOVERY “recovery” 修复包。

EffectiveMode

生效模式。

系统能力:SystemCapability.Update.UpdateService

名称 说明
COLD 1 冷升级。
LIVE 2 热升级。
LIVE_AND_COLD 3 融合升级。

DescriptionType

描述文件类型。

系统能力:SystemCapability.Update.UpdateService

名称 说明
CONTENT 0 内容。
URI 1 链接。

DescriptionFormat

描述文件格式。

系统能力:SystemCapability.Update.UpdateService

名称 说明
STANDARD 0 标准格式。
SIMPLIFIED 1 简易格式。

NetType

网络类型。

系统能力:SystemCapability.Update.UpdateService

名称 说明
CELLULAR 1 数据网络。
METERED_WIFI 2 热点WIFI。
NOT_METERED_WIFI 4 非热点WIFI。
WIFI 6 WIFI。
CELLULAR_AND_WIFI 7 数据网络和WIFI。

Order

升级指令。

系统能力:SystemCapability.Update.UpdateService

名称 说明
DOWNLOAD 1 下载。
INSTALL 2 安装。
DOWNLOAD_AND_INSTALL 3 下载并安装。
APPLY 4 生效。
INSTALL_AND_APPLY 6 安装并生效。

UpgradeStatus

升级状态。

系统能力:SystemCapability.Update.UpdateService

名称 说明
WAITING_DOWNLOAD 20 待下载。
DOWNLOADING 21 下载中。
DOWNLOAD_PAUSED 22 下载暂停。
DOWNLOAD_FAIL 23 下载失败。
WAITING_INSTALL 30 待安装。
UPDATING 31 更新中。
WAITING_APPLY 40 待生效。
APPLYING 41 生效中。
UPGRADE_SUCCESS 50 升级成功。
UPGRADE_FAIL 51 升级失败。

EventClassify

事件类型。

系统能力:SystemCapability.Update.UpdateService

名称 说明
TASK 0x01000000 任务事件。

EventId

事件ID。

系统能力:SystemCapability.Update.UpdateService

名称 说明
EVENT_TASK_BASE EventClassify.TASK 任务事件。
EVENT_TASK_RECEIVE 0x01000001 收到任务。
EVENT_TASK_CANCEL 0x01000002 取消任务。
EVENT_DOWNLOAD_WAIT 0x01000003 待下载。
EVENT_DOWNLOAD_START 0x01000004 开始下载。
EVENT_DOWNLOAD_UPDATE 0x01000005 下载进度更新。
EVENT_DOWNLOAD_PAUSE 0x01000006 下载暂停。
EVENT_DOWNLOAD_RESUME 0x01000007 恢复下载。
EVENT_DOWNLOAD_SUCCESS 0x01000008 下载成功。
EVENT_DOWNLOAD_FAIL 0x01000009 下载失败。
EVENT_UPGRADE_WAIT 0x0100000A 待升级。
EVENT_UPGRADE_START 0x0100000B 开始升级。
EVENT_UPGRADE_UPDATE 0x0100000C 升级中。
EVENT_APPLY_WAIT 0x0100000D 待生效。
EVENT_APPLY_START 0x0100000E 开始生效。
EVENT_UPGRADE_SUCCESS 0x0100000F 更新成功。
EVENT_UPGRADE_FAIL 0x01000010 更新失败。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

0  赞