衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發設備管理:ohos.update 升級

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-05 09:33 ? 次閱讀

升級

icon-note.gif說明: 本模塊首批接口從API version 6開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

升級范圍:升級整個系統,包括內置的資源、預置應用;第三方的應用不在升級的范圍。

升級依賴:升級分為SD卡升級和在線升級兩種。

  • SD卡升級依賴升級包和SD卡安裝。
  • 在線升級依賴設備廠商部署的用于管理升級包的服務器。服務器由設備廠商部署,IP由調用者傳入,請求的request接口是固定的,由設備廠商開發。

導入模塊

import update from '@ohos.update'

權限列表

update.getUpdater

getUpdater(upgradeFile: string, updateType?: UpdateTypes): Updater

獲取本地升級Updater。

系統能力 :SystemCapability.Update.UpdateService

參數

參數名類型必填說明
upgradeFilestring升級文件
updateType[UpdateTypes]升級類型

返回值:

類型說明
[Updater]升級對象

示例:

try {
  let updater = update.getUpdater('/data/updater/updater.zip', 'OTA');
} catch(error) {
  console.error(" Fail to get updater error: " + error);
}

update.getUpdaterForOther

getUpdaterForOther(upgradeFile: string, device: string, updateType?: UpdateTypes): Updater

獲取升級對象給待升級設備。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
upgradeFilestring升級文件
devicestring待升級設備
updateType[UpdateTypes]升級類型

返回值:

類型說明
[Updater]升級對象

示例:

try {
  let updater = update.getUpdaterForOther('/data/updater/updater.zip', '1234567890', 'OTA');
} catch(error) {
  console.error(" Fail to get updater error: " + error);
}

update.getUpdaterFromOther

getUpdaterFromOther(upgradeFile: string, device: string, updateType?: UpdateTypes): Updater

獲取其它設備為本設備升級的Updater。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
upgradeFilestring升級文件
devicestring待升級設備
updateType[UpdateTypes]升級類型

返回值:

類型說明
[Updater]升級對象

示例:

try {
  let updater = update.getUpdaterFromOther('/data/updater/updater.zip', '1234567890', 'OTA');
} catch(error) {
  console.error(" Fail to get updater error: " + error);
}

Updater

getNewVersionInfo

getNewVersionInfo(callback: AsyncCallback): void

獲取新版本信息,使用callback方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
callbackAsyncCallback<[NewVersionInfo]>回調返回新版本信息

示例:

updater.getNewVersionInfo((err, info) = > {
  console.log("getNewVersionInfo success  " + info.status);
  console.log(`info versionName = ` + info.checkResults[0].versionName);
  console.log(`info versionCode = ` + info.checkResults[0].versionCode);
  console.log(`info verifyInfo = ` + info.checkResults[0].verifyInfo);
});

getNewVersionInfo

getNewVersionInfo(): Promise

獲取新版本信息,使用promise方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

返回值:

類型說明
Promise<[NewVersionInfo]>Promise,用于異步獲取結果

示例:

updater.getNewVersionInfo().then(value = > {
  console.log(`info versionName = ` + value.checkResults[0].versionName);
  console.log(`info versionCode = ` + value.checkResults[0].versionCode);
  console.log(`info verifyInfo = ` + value.checkResults[0].verifyInfo);
}).catch(err = > {
  console.log("getNewVersionInfo promise error: " + err.code);
});

checkNewVersion

checkNewVersion(callback: AsyncCallback): void

檢查新版本,使用callback方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
callbackAsyncCallback<[NewVersionInfo]>回調返回新版本信息

示例:

updater.checkNewVersion((err, info) = > {
  console.log("checkNewVersion success  " + info.status);
  console.log(`info versionName = ` + info.checkResults[0].versionName);
  console.log(`info versionCode = ` + info.checkResults[0].versionCode);
  console.log(`info verifyInfo = ` + info.checkResults[0].verifyInfo);
});

checkNewVersion

checkNewVersion(): Promise

檢查新版本,使用promise方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

返回值:

類型說明
Promise<[NewVersionInfo]>Promise函數返回新版本信息

示例:

updater.checkNewVersion().then(value = > {
  console.log(`info versionName = ` + value.checkResults[0].versionName);
  console.log(`info versionCode = ` + value.checkResults[0].versionCode);
  console.log(`info verifyInfo = ` + value.checkResults[0].verifyInfo);
}).catch(err = > {
  console.log("checkNewVersion promise error: " + err.code);
});

verifyUpdatePackage

verifyUpdatePackage(upgradeFile: string, certsFile: string): void

升級前檢查升級包是否有效。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
upgradeFilestring待校驗的升級包路徑
certsFilestring證書路徑

示例:

updater.on("verifyProgress", callback = > {
  console.info('on verifyProgress ' + callback.percent);
});
update.verifyUpdatePackage("XXX", "XXX");

rebootAndCleanUserData8+

rebootAndCleanUserData(): Promise

重啟設備并清除用戶分區數據。

系統能力 :SystemCapability.Update.UpdateService

返回值:

類型說明
PromisePromise示例,用于異步獲取結果。

示例:

updater.rebootAndCleanUserData().then(result = > {
  console.log("rebootAndCleanUserData " + result);
}).catch(err = > {
  console.info("rebootAndCleanUserData promise error: " + err.code);
});

rebootAndCleanUserData8+

rebootAndCleanUserData(callback: AsyncCallback): void

重啟設備并清除用戶分區數據。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
callbackFunctionAsyncCallback

示例:

updater.rebootAndCleanUserData((err, result) = > {
  console.log("rebootAndCleanUserData ", result)
});

applyNewVersion

applyNewVersion(): Promise

重啟設備后安裝升級包。

系統能力 :SystemCapability.Update.UpdateService

返回值:

類型說明
PromisePromise示例,用于異步獲取結果。

示例:

updater.applyNewVersion().then(result = > {
    console.log("appVewVersion ", result)
}).catch(err = > {
    console.info("applyNewVersion promise error: " + err.code);
});

applyNewVersion

applyNewVersion(callback: AsyncCallback): void

重啟設備后安裝升級包。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
callbackFunctionAsyncCallback

示例:

updater.applyNewVersion((err, result) = > {
  console.log("applyNewVersion ", result)
});

download

download(): void

下載新版本,并監聽下載進程。

系統能力 :SystemCapability.Update.UpdateService

示例:

updater.on("downloadProgress", progress = > {
  console.log("downloadProgress on" + progress);
  console.log(`downloadProgress status: ` + progress.status);
  console.log(`downloadProgress percent: ` + progress.percent);
});
updater.download();

upgrade

upgrade():void

啟動升級。

系統能力 :SystemCapability.Update.UpdateService

示例:

updater.on("upgradeProgress", progress = > {
  console.log("upgradeProgress on" + progress);
  console.log(`upgradeProgress status: ` + progress.status);
  console.log(`upgradeProgress percent: ` + progress.percent);
});
updater.upgrade();

setUpdatePolicy

setUpdatePolicy(policy: UpdatePolicy, callback: AsyncCallback): void

設置升級策略,使用callback方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
policy[UpdatePolicy]設置升級策略
callbackAsyncCallback回調返回結果

示例:

// 設置策略
let policy = {
  autoDownload: false,
  autoDownloadNet: true,
  mode: 2,
  autoUpgradeInterval: [ 2, 3 ],
  autoUpgradeCondition: 2
}
updater.setUpdatePolicy(policy, (err, result) = > {
  console.log("setUpdatePolicy ", result)
});

setUpdatePolicy

setUpdatePolicy(policy: UpdatePolicy): Promise

設置升級策略,使用promise方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
policy[UpdatePolicy]設置升級策略

返回值:

類型說明
PromisePromise函數返回設置結果

示例:

let policy = {
  autoDownload: false,
  autoDownloadNet: true,
  mode: 2,
  autoUpgradeInterval: [ 2, 3 ],
  autoUpgradeCondition: 2
}
updater.setUpdatePolicy(policy).then(result = > 
  console.log("setUpdatePolicy ", result)
).catch(err = > {
  console.log("setUpdatePolicy promise error: " + err.code);
});

getUpdatePolicy

getUpdatePolicy(callback: AsyncCallback): void

獲取升級策略信息,使用callback方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

參數:

參數名類型必填說明
callbackAsyncCallback<[UpdatePolicy]>回調返回升級策略信息

示例:

updater.getUpdatePolicy((err, policy) = > {
  console.log("getUpdatePolicy success");
  console.log(`policy autoDownload = ` + policy.autoDownload);
  console.log(`policy autoDownloadNet = ` + policy.autoDownloadNet);
  console.log(`policy mode = ` + policy.mode);
});

getUpdatePolicy

getUpdatePolicy(): Promise

獲取升級策略,通過promise方式作為異步方法。

系統能力 :SystemCapability.Update.UpdateService

返回值:

類型說明
Promise<[UpdatePolicy]>Promise函數返回升級策略信息

示例:

updater.getUpdatePolicy().then(value = > {
  console.log(`info autoDownload = ` + value.autoDownload);
  console.log(`info autoDownloadNet = ` + value.autoDownloadNet);
  console.log(`info mode = ` + value.mode);
}).catch(err = > {
  console.log("getUpdatePolicy promise error: " + err.code);
});

UpdateTypes

升級類型。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

參數名說明
OTAOTA升級
patch補丁升級

PackageTypes

升級包類型。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

參數名默認值說明
PACKAGE_TYPE_NORMAL1通用升級包
PACKAGE_TYPE_BASE2基礎升級包
PACKAGE_TYPE_CUST3定制升級包
PACKAGE_TYPE_PRELOAD4預裝升級包
PACKAGE_TYPE_COTA5參數配置升級包
PACKAGE_TYPE_VERSION6版本升級包
PACKAGE_TYPE_PATCH7補丁包

InstallMode

安裝模式。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

參數名默認值說明
INSTALL_MODE_NORMAL0正常升級
INSTALL_MODE_NIGHT1夜間升級
INSTALL_MODE_AUTO2自動升級

NewVersionStatus

新版本檢測狀態。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

參數名默認值說明
VERSION_STATUS_ERR-1檢測版本時出錯
VERSION_STATUS_NEW0檢測到新版本
VERSION_STATUS_NONE1沒有檢測到新版本
VERSION_STATUS_BUSY2檢測版本時忙

UpdatePolicy

升級策略。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

名稱參數類型必填說明
autoDownloadbool自動升級開關
installMode[InstallMode]安裝模式
autoUpgradeIntervalArray自動升級時間段

NewVersionInfo

新版本信息。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

名稱參數類型必填說明
status[NewVersionStatus]升級狀態
errMsgstring錯誤信息
checkResultsArray<[CheckResult]>檢測結果
descriptionInfoArray<[DescriptionInfo]>描述信息

CheckResult

檢測結果。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

名稱參數類型必填說明
versionNamestring版本名稱
versionCodenumber版本編碼
sizenumber版本大小
verifyInfostring版本校驗信息
packageType[PackageTypes]版本類型
descriptionIdstringHarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿版本描述信息

搜狗高速瀏覽器截圖20240326151450.png

DescriptionInfo

版本描述信息。

系統能力 :以下各項對應的系統能力均為:SystemCapability.Update.UpdateService

名稱參數類型必填說明
descriptionIdstring版本versionId信息
contentstring版本changelog信息

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43058
收藏 人收藏

    評論

    相關推薦

    設備管理系統軟件有哪些

    設備管理系統軟件有哪些,下面是 設備管理軟件功能摘要的NLP顏色標記版,歡迎對比查看素版設備管理軟件功能摘要,有想法反映留言,謝謝~~預測\color{#D2691E}預測預測性\color
    發表于 07-12 07:01

    基于.Net框架的設備管理系統的設計與實現

    設備管理系統是企業運營過程中必不可少的組成部分。本文以中國教育經濟信息網管理中心設備管理系統為例,討論了設備管理系統的設計與實現,并詳細討論了基于.Net框架的三
    發表于 08-28 09:02 ?28次下載

    面向預測性維護的制造工業設備管理系統

    為了解決制造業中工業設備管理混亂、維護成本高昂等問題,以工業機器人、數控車床等工業設備管理對象,開發面向預測性維護的設備管理系統。基于 S
    發表于 04-23 09:46 ?43次下載
    面向預測性維護的制造工業<b class='flag-5'>設備管理</b>系統

    設備管理云平臺是什么?有什么功能?

    設備管理云平臺:現代化企業的重要解決方案 隨著科技的迅速發展和企業規模的擴大,設備數量和種類也隨之增加,設備管理變得愈加復雜。傳統的管理方法已經無法滿足企業的需求,而
    的頭像 發表于 09-20 16:39 ?1692次閱讀

    基于RFID油井設備管理手持機的開發研究

    電子發燒友網站提供《基于RFID油井設備管理手持機的開發研究.pdf》資料免費下載
    發表于 10-23 09:35 ?0次下載
    基于RFID油井<b class='flag-5'>設備管理</b>手持機的<b class='flag-5'>開發</b>研究

    鴻蒙開發接口定制管理:【@ohos.enterpriseDeviceManager (企業設備管理)】

    以異步方法根據給定的包名和類名激活設備管理員應用,使用Callback形式返回是否激活成功。
    的頭像 發表于 06-05 09:24 ?596次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>接口定制<b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.enterpriseDeviceManager (企業<b class='flag-5'>設備管理</b>)】

    鴻蒙開發設備管理ohos.deviceInfo 設備信息

    面向特定開發者發布的早期預覽版本,不承諾API穩定性。 -?Beta:面向開發者公開發布的Beta版本,不承諾API穩定性。
    的頭像 發表于 07-01 16:33 ?615次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>設備管理</b>:<b class='flag-5'>ohos</b>.deviceInfo <b class='flag-5'>設備</b>信息

    鴻蒙開發設備管理ohos.multimodalInput.inputDevice 輸入設備

    輸入設備管理模塊,用于監聽輸入設備連接、斷開和變化,并查看輸入設備相關信息。比如監聽鼠標插拔,并獲取鼠標的id、name和指針移動速度等信息。
    的頭像 發表于 07-01 09:19 ?498次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>設備管理</b>:<b class='flag-5'>ohos</b>.multimodalInput.inputDevice 輸入<b class='flag-5'>設備</b>

    鴻蒙開發設備管理ohos.multimodalInput.inputEvent 輸入事件

    InputEvent模塊描述了設備上報的基本事件。
    的頭像 發表于 07-02 17:44 ?301次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>設備管理</b>:<b class='flag-5'>ohos</b>.multimodalInput.inputEvent 輸入事件

    鴻蒙開發設備管理ohos.multimodalInput.keyCode 鍵值

    KeyCode模塊提供了按鍵類設備的鍵值。
    的頭像 發表于 07-01 22:14 ?433次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>設備管理</b>:<b class='flag-5'>ohos</b>.multimodalInput.keyCode 鍵值

    鴻蒙開發設備管理ohos.thermal 熱管理

    該模塊提供熱管理相關的接口,包括熱檔位查詢及注冊回調等功能。
    的頭像 發表于 07-05 09:53 ?398次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>設備管理</b>:<b class='flag-5'>ohos</b>.thermal 熱<b class='flag-5'>管理</b>

    鴻蒙開發設備管理ohos.usb USB管理

    本模塊主要提供管理USB設備的相關功能,包括查詢USB設備列表、批量數據傳輸、控制命令傳輸、權限控制等。
    的頭像 發表于 07-05 17:34 ?847次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>設備管理</b>:<b class='flag-5'>ohos</b>.usb USB<b class='flag-5'>管理</b>

    設備管理系統:是什么、誰需要、推薦設備管理系統

    設備管理系統(EMS)在企業管理中愈發重要。中設智控設備管理系統以全生命周期管理為主,涵蓋預算、采購、維護等功能,支持移動端應用,降低備件儲備,提高
    的頭像 發表于 08-01 11:23 ?942次閱讀
    <b class='flag-5'>設備管理</b>系統:是什么、誰需要、推薦<b class='flag-5'>設備管理</b>系統

    設備管理流程優化的優勢

    設備管理對企業生產效率、產品質量、成本控制和安全生產起著關鍵作用。但設備管理面臨挑戰,如種類繁多、數量龐大、位置分散等。因此,企業應采用科學的設備管理方法,建立設備管理系統,跟蹤
    的頭像 發表于 09-05 10:34 ?402次閱讀
    <b class='flag-5'>設備管理</b>流程優化的優勢

    基于物聯網的設備管理

    物聯網設備管理的重要性日益凸顯,設備數量激增帶來數據泄露風險。加強設備安全性、軟件升級與修復、身份驗證和互操作性是關鍵。物聯網設備管理需要跨
    的頭像 發表于 09-10 11:04 ?716次閱讀
    基于物聯網的<b class='flag-5'>設備管理</b>
    百家乐官网真人投注网站| 莆田棋牌迷游戏中心| 广州百家乐官网赌场娱乐网规则| 比如县| 龍城百家乐的玩法技巧和规则| 手机百家乐官网的玩法技巧和规则 | 太阳城百家乐下载网址| 百家乐官网云顶| 任你博娱乐| 百家乐最新庄闲投注法| 百家乐官网桌布尼布材质| 菲律宾在线游戏| 大地百家乐的玩法技巧和规则 | 正品百家乐官网玩法| 免费百家乐官网规律| 大发888真钱游戏娱乐城下载| 太阳城百家乐杀祖玛| 大杀器百家乐官网学院| 百家乐官网规则澳门| 大发888官网 888| 百家乐娱乐平台真人娱乐平台| 帝王百家乐官网的玩法技巧和规则 | 做生意的风水朝向| 百家乐官网网站平台| 紫金县| 大发888线上娱乐| 百家乐qq游戏| 百家乐单双打法| 百家乐官网赌博玩法技巧| 镶黄旗| 大发888加盟合作| 玩百家乐怎么才能赢| 百家乐官网qq游戏| 天地人百家乐官网现金网| 明升国际娱乐| 大发888游戏官网| 百家乐体育直播| 神人百家乐官网赌博| 百家乐官网什么平台好| 贵族娱乐城信誉| 大发888官方授权网|