harmony 鸿蒙@ohos.update (升级)

2022-08-09 浏览 (1404)

@ohos.update (升级)

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

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

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

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

说明:

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

本模块接口为系统接口。

导入模块

import update from '@ohos.update'

update.getOnlineUpdater

getOnlineUpdater(upgradeInfo: UpgradeInfo): Updater

获取在线升级对象。

系统能力:SystemCapability.Update.UpdateService

参数:

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

返回值:

类型说明
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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

参数名类型必填说明
versionDigestInfoVersionDigestInfo版本摘要信息。
descriptionOptionsDescriptionOptions描述文件选项。
callbackAsyncCallback<Array<ComponentDescription>>回调函数,返回新版本描述文件。

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

参数名类型必填说明
versionDigestInfoVersionDigestInfo版本摘要信息。
descriptionOptionsDescriptionOptions描述文件选项。

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

参数名类型必填说明
versionDigestInfoVersionDigestInfo版本摘要信息。
downloadOptionsDownloadOptions下载选项。

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

参数名类型必填说明
versionDigestInfoVersionDigestInfo版本摘要信息。
resumeDownloadOptionsResumeDownloadOptions恢复下载选项。

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

参数名类型必填说明
versionDigestInfoVersionDigestInfo版本摘要信息。
pauseDownloadOptionsPauseDownloadOptions暂停下载选项。

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

参数名类型必填说明
versionDigestInfoVersionDigestInfo版本摘要信息。
upgradeOptionsUpgradeOptions更新选项。

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

参数名类型必填说明
versionDigestInfoVersionDigestInfo版本摘要信息。
clearOptionsClearOptions更新选项。

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

参数名类型必填说明
eventClassifyInfoEventClassifyInfo事件信息。
taskCallbackUpgradeTaskCallback事件回调。

示例:

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

参数:

参数名类型必填说明
eventClassifyInfoEventClassifyInfo事件信息。
taskCallbackUpgradeTaskCallback事件回调。

示例:

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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

参数名类型必填说明
upgradeFileUpgradeFile升级文件。
certsFilestring证书文件路径。
callbackAsyncCallback<void>回调函数,返回升级包校验结果对象。

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

参数名类型必填说明
upgradeFileUpgradeFile升级文件。
certsFilestring证书文件路径。

返回值:

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

错误码

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

错误码ID错误信息
11500104IPC 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

参数:

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

错误码

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

错误码ID错误信息
11500104IPC 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错误信息
11500104IPC 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

参数:

参数名类型必填说明
eventClassifyInfoEventClassifyInfo事件信息。
taskCallbackUpgradeTaskCallback事件回调。

示例:

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

参数:

参数名类型必填说明
eventClassifyInfoEventClassifyInfo事件信息。
taskCallbackUpgradeTaskCallback事件回调。

示例:

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

名称类型必填说明
upgradeAppstring调用方包名。
businessTypeBusinessType升级业务类型。

BusinessType

升级业务类型。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
vendorBusinessVendor供应商/厂家。
subTypeBusinessSubType升级类型。

CheckResult

搜包结果。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
isExistNewVersionboolean是否有新版本。
ture表示有新版本,false表示没有新版本。
newVersionInfoNewVersionInfo新版本数据。

NewVersionInfo

新版本数据。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
versionDigestInfoVersionDigestInfo版本摘要。
versionComponentsArray<VersionComponent>版本组件。

VersionDigestInfo

版本摘要。

系统能力:SystemCapability.Update.UpdateService

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

VersionComponent

版本组件。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
componentIdstring组件标识。
componentTypeComponentType组件类型。
upgradeActionUpgradeAction升级方式。
displayVersionstring显示版本号。
innerVersionstring版本号。
sizenumber升级包大小,单位为B。
effectiveModeEffectiveMode生效模式。
descriptionInfoDescriptionInfo版本描述文件信息。

DescriptionOptions

描述文件选项。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
formatDescriptionFormat描述文件格式。
languagestring描述文件语言。

ComponentDescription

组件描述文件。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
componentIdstring组件标识。
descriptionInfoDescriptionInfo描述文件信息。

DescriptionInfo

版本描述文件信息。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
descriptionTypeDescriptionType描述文件类型。
contentstring描述文件内容。

CurrentVersionInfo

当前版本信息。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
osVersionstring系统版本号。
deviceNamestring设备名。
versionComponentsArray<VersionComponent>版本组件。

DownloadOptions

下载选项。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
allowNetworkNetType网络类型。
orderOrder升级指令。

ResumeDownloadOptions

恢复下载选项。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
allowNetworkNetType网络类型。

PauseDownloadOptions

暂停下载选项。

系统能力:SystemCapability.Update.UpdateService

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

UpgradeOptions

升级选项。

系统能力:SystemCapability.Update.UpdateService

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

ClearOptions

清除异常选项。

系统能力:SystemCapability.Update.UpdateService

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

UpgradePolicy

升级策略。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
downloadStrategyboolean自动下载策略。
ture表示可自动下载,false表示不可自动下载。
autoUpgradeStrategyboolean自动升级策略。
ture表示可自动升级,false表示不可自动升级。
autoUpgradePeriodsArray<UpgradePeriod>自动升级时间段。

UpgradePeriod

升级时间段。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
startnumber开始时间。
endnumber结束时间。

TaskInfo

任务信息。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
existTaskboolean是否存在任务。
ture表示存在,false表示不存在。
taskBodyTaskBody任务数据。

EventInfo

事件信息。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
eventIdEventId事件ID。
taskBodyTaskBody任务数据。

TaskBody

任务数据。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
versionDigestInfoVersionDigestInfo版本摘要。
statusUpgradeStatus升级状态。
subStatusnumber子状态。
progressnumber进度。
installModenumber安装模式。
errorMessagesArray<ErrorMessage>错误信息。
versionComponentsArray<VersionComponent>版本组件。

ErrorMessage

错误信息。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
errorCodenumber错误码。
errorMessagestring错误描述。

EventClassifyInfo

事件信息。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
eventClassifyEventClassify事件类型。
extraInfostring额外信息。

UpgradeFile

升级文件。

系统能力:SystemCapability.Update.UpdateService

名称类型必填说明
fileTypeComponentType文件类型。
filePathstring文件路径。

UpgradeTaskCallback

(eventInfo: EventInfo): void

事件回调。

系统能力:SystemCapability.Update.UpdateService

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

BusinessVendor

设备厂家。

系统能力:SystemCapability.Update.UpdateService

名称说明
PUBLIC"public"开源。

BusinessSubType

升级类型。

系统能力:SystemCapability.Update.UpdateService

名称说明
FIRMWARE1固件。

ComponentType

组件类型。

系统能力:SystemCapability.Update.UpdateService

名称说明
OTA1固件。

UpgradeAction

升级方式。

系统能力:SystemCapability.Update.UpdateService

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

EffectiveMode

生效模式。

系统能力:SystemCapability.Update.UpdateService

名称说明
COLD1冷升级。
LIVE2热升级。
LIVE_AND_COLD3融合升级。

DescriptionType

描述文件类型。

系统能力:SystemCapability.Update.UpdateService

名称说明
CONTENT0内容。
URI1链接。

DescriptionFormat

描述文件格式。

系统能力:SystemCapability.Update.UpdateService

名称说明
STANDARD0标准格式。
SIMPLIFIED1简易格式。

NetType

网络类型。

系统能力:SystemCapability.Update.UpdateService

名称说明
CELLULAR1数据网络。
METERED_WIFI2热点WIFI。
NOT_METERED_WIFI4非热点WIFI。
WIFI6WIFI。
CELLULAR_AND_WIFI7数据网络和WIFI。

Order

升级指令。

系统能力:SystemCapability.Update.UpdateService

名称说明
DOWNLOAD1下载。
INSTALL2安装。
DOWNLOAD_AND_INSTALL3下载并安装。
APPLY4生效。
INSTALL_AND_APPLY6安装并生效。

UpgradeStatus

升级状态。

系统能力:SystemCapability.Update.UpdateService

名称说明
WAITING_DOWNLOAD20待下载。
DOWNLOADING21下载中。
DOWNLOAD_PAUSED22下载暂停。
DOWNLOAD_FAIL23下载失败。
WAITING_INSTALL30待安装。
UPDATING31更新中。
WAITING_APPLY40待生效。
APPLYING41生效中。
UPGRADE_SUCCESS50升级成功。
UPGRADE_FAIL51升级失败。

EventClassify

事件类型。

系统能力:SystemCapability.Update.UpdateService

名称说明
TASK0x01000000任务事件。

EventId

事件ID。

系统能力:SystemCapability.Update.UpdateService

名称说明
EVENT_TASK_BASEEventClassify.TASK任务事件。
EVENT_TASK_RECEIVE0x01000001收到任务。
EVENT_TASK_CANCEL0x01000002取消任务。
EVENT_DOWNLOAD_WAIT0x01000003待下载。
EVENT_DOWNLOAD_START0x01000004开始下载。
EVENT_DOWNLOAD_UPDATE0x01000005下载进度更新。
EVENT_DOWNLOAD_PAUSE0x01000006下载暂停。
EVENT_DOWNLOAD_RESUME0x01000007恢复下载。
EVENT_DOWNLOAD_SUCCESS0x01000008下载成功。
EVENT_DOWNLOAD_FAIL0x01000009下载失败。
EVENT_UPGRADE_WAIT0x0100000A待升级。
EVENT_UPGRADE_START0x0100000B开始升级。
EVENT_UPGRADE_UPDATE0x0100000C升级中。
EVENT_APPLY_WAIT0x0100000D待生效。
EVENT_APPLY_START0x0100000E开始生效。
EVENT_UPGRADE_SUCCESS0x0100000F更新成功。
EVENT_UPGRADE_FAIL0x01000010更新失败。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

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

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

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

harmony 鸿蒙BundleStatusCallback

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

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

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

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

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/cd1dd2aace374047b1f964ad3ad24d66