js-apis-update.md 48.0 KB
Newer Older
1
# 升级
Z
zengyawen 已提交
2

3 4 5
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

6
升级范围:升级整个系统,包括内置的资源、预置应用;第三方的应用不在升级的范围。
Z
zengyawen 已提交
7 8 9 10

升级依赖:升级分为SD卡升级和在线升级两种。

- SD卡升级依赖升级包和SD卡安装。
H
HelloCrease 已提交
11
- 在线升级依赖设备厂商部署的用于管理升级包的服务器。服务器由设备厂商部署,IP由调用者传入,请求的request接口是固定的,由设备厂商开发。
Z
zengyawen 已提交
12 13 14 15

## 导入模块

```js
Z
zengyawen 已提交
16
import update from '@ohos.update'
Z
zengyawen 已提交
17 18
```

19
## update.getOnlineUpdater
Z
zengyawen 已提交
20

21
getOnlineUpdater(upgradeInfo: UpgradeInfo): Updater
Z
zengyawen 已提交
22

23
获取在线升级对象。
Z
zengyawen 已提交
24

25
**系统能力**:SystemCapability.Update.UpdateService
26

Z
zengyawen 已提交
27 28
**参数:**

H
HelloCrease 已提交
29 30
| 参数名         | 类型                          | 必填   | 说明   |
| ----------- | --------------------------- | ---- | ---- |
31
| upgradeInfo | [UpgradeInfo](#upgradeinfo)                 | 是    | 升级信息 |
Z
zengyawen 已提交
32 33 34

**返回值:**

H
HelloCrease 已提交
35 36
| 类型                  | 说明   |
| ------------------- | ---- |
Z
zengyawen 已提交
37 38 39 40 41 42
| [Updater](#updater) | 升级对象 |

**示例:**

```
try {
43
  var upgradeInfo = {
44
    upgradeApp: "com.ohos.ota.updateclient",
45
    businessType: {
46 47
      vendor: update.BusinessVendor.PUBLIC
      subType: update.BusinessSubType.FIRMWARE;
48 49
    }
  }
50
  let updater = update.getOnlineUpdater(upgradeInfo);
Z
zengyawen 已提交
51
} catch(error) {
52
  console.error(`Fail to get updater error: ${error}`);
Z
zengyawen 已提交
53 54 55
}
```

56
## update.getRestorer
Z
zengyawen 已提交
57

58
getRestorer(): Restorer
Z
zengyawen 已提交
59

60
获取恢复出厂对象。
Z
zengyawen 已提交
61

62
**系统能力**:SystemCapability.Update.UpdateService
63

Z
zengyawen 已提交
64 65 66

**返回值:**

H
HelloCrease 已提交
67 68
| 类型                  | 说明   |
| ------------------- | ---- |
69
| [Restorer](#restorer) | 恢复出厂对象 |
Z
zengyawen 已提交
70 71 72 73 74

**示例:**

```
try {
75
  let restorer = update.getRestorer();
Z
zengyawen 已提交
76
} catch(error) {
77
  console.error(`Fail to get restorer: ${error}`);
Z
zengyawen 已提交
78 79 80
}
```

81
## update.getLocalUpdater
Z
zengyawen 已提交
82

83
getLocalUpdater(): LocalUpdater
Z
zengyawen 已提交
84

85
获取本地升级对象。
Z
zengyawen 已提交
86

87
**系统能力**:SystemCapability.Update.UpdateService
88

Z
zengyawen 已提交
89 90
**返回值:**

H
HelloCrease 已提交
91 92
| 类型                  | 说明   |
| ------------------- | ---- |
93
| [LocalUpdater](#localupdater) | 本地升级对象 |
Z
zengyawen 已提交
94 95 96 97 98

**示例:**

```
try {
99
  let localUpdater = update.getLocalUpdater();
Z
zengyawen 已提交
100
} catch(error) {
101
  console.error(`Fail to get localUpdater error: ${error}`);
Z
zengyawen 已提交
102 103 104
}
```

Z
zengyawen 已提交
105 106
## Updater

107 108 109 110
### checkNewVersion

checkNewVersion(callback: AsyncCallback\<CheckResult>): void

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

**系统能力**:SystemCapability.Update.UpdateService
114

115
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
116 117 118 119 120

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
121
| callback | AsyncCallback\<[CheckResult](#checkresult)> | 是    | 回调函数,返回搜包结果对象。 |
122 123 124 125 126

**示例:**

```
updater.checkNewVersion((err, result) => {
127
  console.log(`checkNewVersion isExistNewVersion  ${result?.isExistNewVersion}`);
128 129 130 131 132 133 134
});
```

### checkNewVersion

checkNewVersion(): Promise\<CheckResult>

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

**系统能力**:SystemCapability.Update.UpdateService
138

139
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
140 141 142 143 144

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
145
| Promise\<[CheckResult](#checkresult)> | Promise对象,返回搜包结果对象。 |
146 147 148 149

**示例:**

```
150
updater.checkNewVersion().then(result => {
151
  console.log(`checkNewVersion isExistNewVersion: ${result.isExistNewVersion}`);
152
  // 版本摘要信息
153
  console.log(`checkNewVersion versionDigestInfo: ${result.newVersionInfo.versionDigestInfo.versionDigest}`);
154
}).catch(err => {
155
  console.log(`checkNewVersion promise error ${JSON.stringify(err)}`);
156 157 158
});
```

Z
zengyawen 已提交
159 160 161 162
###  getNewVersionInfo

getNewVersionInfo(callback: AsyncCallback\<NewVersionInfo>): void

163
获取新版本信息。使用callback异步回调。
Z
zengyawen 已提交
164

165
**系统能力**:SystemCapability.Update.UpdateService
166

167
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
168

Z
zengyawen 已提交
169 170
**参数:**

H
HelloCrease 已提交
171 172
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
173
| callback | AsyncCallback\<[NewVersionInfo](#newversioninfo)> | 是    | 回调函数,返回新版本信息对象。 |
Z
zengyawen 已提交
174 175 176 177

**示例:**

```
178
updater.getNewVersionInfo((err, info) => {
179 180
  console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
  console.log(`info innerVersion = ${info?.versionComponents[0].innerVersion}`);
Z
zengyawen 已提交
181
});
Z
zengyawen 已提交
182 183 184 185 186 187
```

### getNewVersionInfo

getNewVersionInfo(): Promise\<NewVersionInfo>

188
获取新版本信息。使用Promise异步回调。
Z
zengyawen 已提交
189

190
**系统能力**:SystemCapability.Update.UpdateService
191

192
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
193

Z
zengyawen 已提交
194 195
**返回值:**

H
HelloCrease 已提交
196 197
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
198
| Promise\<[NewVersionInfo](#newversioninfo)> | Promise对象,返回新版本信息对象。 |
Z
zengyawen 已提交
199 200 201 202

**示例:**

```
203
updater.getNewVersionInfo().then(info => {
204 205
  console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
  console.log(`info innerVersion = ${info.versionComponents[0].innerVersion}`);
Z
zengyawen 已提交
206
}).catch(err => {
207
  console.log(`getNewVersionInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
208
});
Z
zengyawen 已提交
209 210
```

211
###  getCurrentVersionInfo
Z
zengyawen 已提交
212

213
getCurrentVersionInfo(callback: AsyncCallback\<CurrentVersionInfo>): void
Z
zengyawen 已提交
214

215
获取当前版本信息。使用callback异步回调。
Z
zengyawen 已提交
216

217
**系统能力**:SystemCapability.Update.UpdateService
218

219
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
220

Z
zengyawen 已提交
221 222
**参数:**

H
HelloCrease 已提交
223 224
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
225
| callback | AsyncCallback\<[CurrentVersionInfo](#currentversioninfo)> | 是    | 回调函数,返回当前版本信息对象。 |
Z
zengyawen 已提交
226 227 228 229

**示例:**

```
230
updater.getCurrentVersionInfo((err, info) => {
231 232 233
  console.log(`info osVersion = ${info?.osVersion}`);
  console.log(`info deviceName = ${info?.deviceName}`);
  console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
Z
zengyawen 已提交
234
});
Z
zengyawen 已提交
235 236
```

237
### getCurrentVersionInfo
Z
zengyawen 已提交
238

239
getCurrentVersionInfo(): Promise\<CurrentVersionInfo>
Z
zengyawen 已提交
240

241
获取当前版本信息。使用Promise异步回调。
Z
zengyawen 已提交
242

243
**系统能力**:SystemCapability.Update.UpdateService
244

245
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
246

247
**返回值:**
Z
zengyawen 已提交
248

H
HelloCrease 已提交
249 250
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
251
| Promise\<[CurrentVersionInfo](#currentversioninfo)> | Promise对象,返回当前版本对象。 |
Z
zengyawen 已提交
252

253
**示例:**
Z
zengyawen 已提交
254 255

```
256
updater.getCurrentVersionInfo().then(info => {
257 258 259
  console.log(`info osVersion = ${info.osVersion}`);
  console.log(`info deviceName = ${info.deviceName}`);
  console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
Z
zengyawen 已提交
260
}).catch(err => {
261
  console.log(`getCurrentVersionInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
262
});
Z
zengyawen 已提交
263 264
```

265
###  getTaskInfo
Z
zengyawen 已提交
266

267
getTaskInfo(callback: AsyncCallback\<TaskInfo>): void
Z
zengyawen 已提交
268

269
获取升级任务信息。使用callback异步回调。
Z
zengyawen 已提交
270

271
**系统能力**:SystemCapability.Update.UpdateService
272

273
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
274

Z
zengyawen 已提交
275 276
**参数:**

277 278
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
279
| callback | AsyncCallback\<[TaskInfo](#taskinfo)> | 是    | 回调函数,返回升级任务信息对象。 |
Z
zengyawen 已提交
280 281 282 283

**示例:**

```
284
updater.getTaskInfo((err, info) => {
285
  console.log(`getTaskInfo isexistTask= ${info?.existTask}`);
Z
zengyawen 已提交
286 287 288
});
```

289
### getTaskInfo
Z
zengyawen 已提交
290

291
getTaskInfo(): Promise\<TaskInfo>
Z
zengyawen 已提交
292

293
获取升级任务信息。使用Promise异步回调。
Z
zengyawen 已提交
294

295 296
**系统能力**:SystemCapability.Update.UpdateService

Z
zengyawen 已提交
297 298
**返回值:**

299 300
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
301
| Promise\<[TaskInfo](#taskinfo)> | Promise对象,返回任务信息对象。 |
Z
zengyawen 已提交
302 303 304 305

**示例:**

```
306
updater.getTaskInfo().then(info => {
307
  console.log(`getTaskInfo isexistTask= ${info.existTask}`);
Z
zengyawen 已提交
308
}).catch(err => {
309
  console.log(`getTaskInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
310 311 312
});
```

313
###  download
Z
zengyawen 已提交
314

315
download(versionDigestInfo: VersionDigestInfo, downloadOptions: DownloadOptions, callback: AsyncCallback\<void>): void
Z
zengyawen 已提交
316

317
下载新版本。使用callback异步回调。
Z
zengyawen 已提交
318

319
**系统能力**:SystemCapability.Update.UpdateService
320

321
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
322

Z
zengyawen 已提交
323 324
**参数:**

325 326
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
327 328
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| downloadOptions | [DownloadOptions](#downloadoptions) | 是    | 下载选项 |
329
| callback | AsyncCallback\<void> | 是    | 回调函数。当下载成功时,err为undefined,否则为错误对象。 |
Z
zengyawen 已提交
330 331 332 333

**示例:**

```
334 335
// 版本摘要信息
var versionDigestInfo = {
336
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
337 338 339 340
}

// 下载选项
var downloadOptions = {
341 342
  allowNetwork: update.NetType.CELLULAR_AND_WIFI, // 允许所有网络下载
  order: update.Order.DOWNLOAD // 下载
343 344
}
updater.download(versionDigestInfo, downloadOptions, (err) => {
345
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
346 347 348
});
```

349
### download
Z
zengyawen 已提交
350

351
download(versionDigestInfo: VersionDigestInfo, downloadOptions: DownloadOptions): Promise\<void>
Z
zengyawen 已提交
352

353
下载新版本。使用Promise异步回调。
Z
zengyawen 已提交
354

355
**系统能力**:SystemCapability.Update.UpdateService
356

357
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
358

359 360 361 362
**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
363 364
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| downloadOptions | [DownloadOptions](#downloadoptions) | 是    | 下载选项 |
365

Z
zengyawen 已提交
366 367
**返回值:**

368 369
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
370
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
371 372 373 374

**示例:**

```
375 376
// 版本摘要信息
var versionDigestInfo = {
377
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
378 379 380 381
}

// 下载选项
var downloadOptions = {
382 383
  allowNetwork: update.NetType.CELLULAR_AND_WIFI, // 允许所有网络下载
  order: update.Order.DOWNLOAD // 下载
384
}
385
updater.download(versionDigestInfo, downloadOptions).then(() => {
386
  console.log(`download start`);
Z
zengyawen 已提交
387
}).catch(err => {
388
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
389 390 391
});
```

392
###  resumeDownload
Z
zengyawen 已提交
393

394
resumeDownload(versionDigestInfo: VersionDigestInfo, resumeDownloadOptions: ResumeDownloadOptions, callback: AsyncCallback\<void>): void
Z
zengyawen 已提交
395

396
恢复下载新版本。使用callback异步回调。
Z
zengyawen 已提交
397

398
**系统能力**:SystemCapability.Update.UpdateService
399

400
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
401

Z
zengyawen 已提交
402 403
**参数:**

404 405
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
406 407
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项 |
408
| callback | AsyncCallback\<void> | 是    | 回调函数。当恢复下载成功时,err为undefined,否则为错误对象。 |
Z
zengyawen 已提交
409 410 411 412

**示例:**

```
413 414
// 版本摘要信息
var versionDigestInfo = {
415
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
416 417 418 419
}

// 恢复下载选项
var resumeDownloadOptions = {
420
  allowNetwork: update.NetType.CELLULAR_AND_WIFI, // 允许所有网络下载
421 422
}
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions, (err) => {
423
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
424 425 426
});
```

427 428 429 430
### resumeDownload

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

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

**系统能力**:SystemCapability.Update.UpdateService
434

435
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
436 437 438 439 440

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
441 442
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项 |
443 444 445 446 447

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
448
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
449 450 451 452 453 454

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
455
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
456 457 458 459
}

// 恢复下载选项
var resumeDownloadOptions = {
460
  allowNetwork: update.NetType.CELLULAR_AND_WIFI, // 允许所有网络下载
461 462 463 464
}
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions).then(value => {
  console.log(`resumeDownload start`);
}).catch(err => {
465
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
466 467 468 469 470 471 472
});
```

###  pauseDownload

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

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

**系统能力**:SystemCapability.Update.UpdateService
476

477
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
478 479 480 481 482

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
483 484
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项 |
485
| callback | AsyncCallback\<void> | 是    | 回调函数。当暂停下载成功时,err为undefined,否则为错误对象。 |
486 487 488 489 490 491

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
492
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
493 494 495 496
}

// 暂停下载选项
var pauseDownloadOptions = {
497
  isAllowAutoResume: true // 允许自动恢复下载
498 499
}
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions, (err) => {
500
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
501 502 503 504 505 506 507
});
```

### pauseDownload

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

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

**系统能力**:SystemCapability.Update.UpdateService
511

512
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
513 514 515 516 517

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
518 519
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项 |
520 521 522 523 524

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
525
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
526 527 528 529 530 531

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
532
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
533 534 535 536
}

// 暂停下载选项
var pauseDownloadOptions = {
537
  isAllowAutoResume: true // 允许自动恢复下载
538 539
}
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions).then(value => {
540
  console.log(`pauseDownload`);
541
}).catch(err => {
542
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
543 544
});
```
Z
zengyawen 已提交
545

546
###  upgrade
Z
zengyawen 已提交
547

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

550
升级新版本。使用callback异步回调。
Z
zengyawen 已提交
551

552
**系统能力**:SystemCapability.Update.UpdateService
553

554
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
555

556 557 558 559
**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
560 561
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| upgradeOptions | [UpgradeOptions](#upgradeoptions) | 是    | 更新选项 |
562
| callback | AsyncCallback\<void> | 是    | 回调函数。当升级执行成功时,err为undefined,否则为错误对象。 |
563

Z
zengyawen 已提交
564 565 566
**示例:**

```
567 568
// 版本摘要信息
var versionDigestInfo = {
569
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
570 571 572 573
}

// 安装选项
var upgradeOptions = {
574
  order: update.Order.INSTALL // 安装指令
575 576
}
updater.upgrade(versionDigestInfo, upgradeOptions, (err) => {
577
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
578
});
Z
zengyawen 已提交
579 580 581 582
```

### upgrade

583
upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions): Promise\<void>
Z
zengyawen 已提交
584

585
升级新版本。使用Promise异步回调。
Z
zengyawen 已提交
586

587
**系统能力**:SystemCapability.Update.UpdateService
588

589
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
590

591 592 593 594
**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
595 596
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| upgradeOptions | [UpgradeOptions](#upgradeoptions) | 是    | 更新选项 |
597 598 599 600 601

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
602
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
603

Z
zengyawen 已提交
604 605 606
**示例:**

```
607 608
// 版本摘要信息
var versionDigestInfo = {
609
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
610 611 612 613
}

// 安装选项
var upgradeOptions = {
614
  order: update.Order.INSTALL // 安装指令
615
}
616
updater.upgrade(versionDigestInfo, upgradeOptions).then(() => {
617 618
  console.log(`upgrade start`);
}).catch(err => {
619
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
620
});
Z
zengyawen 已提交
621 622
```

623
###  clearError
Z
zengyawen 已提交
624

625
clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions, callback: AsyncCallback\<void>): void
Z
zengyawen 已提交
626

627
清除异常状态。使用callback异步回调。
Z
zengyawen 已提交
628

629
**系统能力**:SystemCapability.Update.UpdateService
630

631
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
632

Z
zengyawen 已提交
633 634
**参数:**

635 636
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
637 638
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| clearOptions | [ClearOptions](#clearoptions) | 是    | 清除选项 |
639
| callback | AsyncCallback\<void> | 是    | 回调函数。当清除异常成功时,err为undefined,否则为错误对象。 |
Z
zengyawen 已提交
640 641 642 643

**示例:**

```
644 645
// 版本摘要信息
var versionDigestInfo = {
646
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
Z
zengyawen 已提交
647
}
648 649 650

// 清除选项
var clearOptions = {
651
  status: update.UpgradeStatus.UPGRADE_FAIL,
652 653
}
updater.clearError(versionDigestInfo, clearOptions, (err) => {
654
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
655
});
Z
zengyawen 已提交
656 657
```

658
### clearError
Z
zengyawen 已提交
659

660
clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions): Promise\<void>
Z
zengyawen 已提交
661

662
清除异常状态。使用Promise异步回调。
Z
zengyawen 已提交
663

664
**系统能力**:SystemCapability.Update.UpdateService
665

666
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
667

Z
zengyawen 已提交
668 669
**参数:**

670 671
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
672 673
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| clearOptions | [ClearOptions](#clearoptions) | 是    | 更新选项 |
Z
zengyawen 已提交
674 675 676

**返回值:**

677 678
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
679
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
680 681 682 683

**示例:**

```
684 685
// 版本摘要信息
var versionDigestInfo = {
686
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
Z
zengyawen 已提交
687
}
688 689 690

// 清除选项
var clearOptions = {
691
  status: update.UpgradeStatus.UPGRADE_FAIL,
692
}
693
updater.clearError(versionDigestInfo, clearOptions).then(() => {
694 695
  console.log(`clearError success`);
}).catch(err => {
696
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
697
});
Z
zengyawen 已提交
698 699
```

700
### getUpgradePolicy
Z
zengyawen 已提交
701

702
getUpgradePolicy(callback: AsyncCallback\<UpgradePolicy>): void
Z
zengyawen 已提交
703

704
获取升级策略信息。使用callback异步回调。
Z
zengyawen 已提交
705

706
**系统能力**:SystemCapability.Update.UpdateService
707

708
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
709

Z
zengyawen 已提交
710 711
**参数:**

H
HelloCrease 已提交
712 713
| 参数名      | 类型                                       | 必填   | 说明         |
| -------- | ---------------------------------------- | ---- | ---------- |
714
| callback | AsyncCallback\<[UpgradePolicy](#upgradepolicy)> | 是    | 回调函数,返回升级策略信息对象 |
Z
zengyawen 已提交
715 716 717 718

**示例:**

```
719
updater.getUpgradePolicy((err, policy) => {
720 721
  console.log(`policy downloadStrategy = ${policy?.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy?.autoUpgradeStrategy}`);
Z
zengyawen 已提交
722
});
Z
zengyawen 已提交
723 724
```

725
### getUpgradePolicy
Z
zengyawen 已提交
726

727
getUpgradePolicy(): Promise\<UpgradePolicy>
Z
zengyawen 已提交
728 729 730

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

731
**系统能力**:SystemCapability.Update.UpdateService
732

733
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
734

Z
zengyawen 已提交
735 736
**返回值:**

H
HelloCrease 已提交
737 738
| 类型                                      | 说明                |
| --------------------------------------- | ----------------- |
739
| Promise\<[UpgradePolicy](#upgradepolicy)> | Promise对象,返回升级策略信息对象。 |
Z
zengyawen 已提交
740 741 742 743

**示例:**

```
744
updater.getUpgradePolicy().then(policy => {
745 746
  console.log(`policy downloadStrategy = ${policy.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy.autoUpgradeStrategy}`);
Z
zengyawen 已提交
747
}).catch(err => {
748
  console.log(`getUpgradePolicy promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
749
});
Z
zengyawen 已提交
750 751
```

752
### setUpgradePolicy
Z
zengyawen 已提交
753

754
setUpgradePolicy(policy: UpgradePolicy, callback: AsyncCallback\<number>): void
Z
zengyawen 已提交
755

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

758
**系统能力**:SystemCapability.Update.UpdateService
759

760
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
Z
zengyawen 已提交
761

762
**参数:**
Z
zengyawen 已提交
763

764 765
| 参数名      | 类型                                       | 必填   | 说明         |
| -------- | ---------------------------------------- | ---- | ---------- |
766
| policy | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略 |
767
| callback | AsyncCallback\<number> | 是    | 回调函数,返回设置结果对象 |
Z
zengyawen 已提交
768

769
**示例:**
770

771
```
772 773 774
let policy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
775
  autoUpgradeInterval: [ 120, 240 ], // 自动升级时间段,用分钟表示
776
}
777
updater.setUpgradePolicy(policy, (err, value) => {
778
  console.log(`setUpgradePolicy result: ${value?}`);
779 780
});
```
Z
zengyawen 已提交
781

782
### setUpgradePolicy
Z
zengyawen 已提交
783

784
setUpgradePolicy(policy: UpgradePolicy): Promise\<number>
Z
zengyawen 已提交
785

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

788
**系统能力**:SystemCapability.Update.UpdateService
789

790
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
Z
zengyawen 已提交
791

792
**参数:**
Z
zengyawen 已提交
793

794 795
| 参数名    | 类型                            | 必填   | 说明     |
| ------ | ----------------------------- | ---- | ------ |
796
| policy | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略 |
Z
zengyawen 已提交
797

798
**返回值:**
799

800 801
| 类型               | 说明              |
| ---------------- | --------------- |
802
| Promise\<number> | Promise对象,返回设置结果对象。 |
803 804 805 806 807 808 809

**示例:**

```
let policy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
810
  autoUpgradeInterval: [ 120, 240 ], // 自动升级时间段,用分钟表示
811
}
812
updater.setUpgradePolicy(policy).then(result => 
813
  console.log(`setUpgradePolicy &{result}`);
814
).catch(err => {
815
  console.log(`setUpgradePolicy promise error ${JSON.stringify(err)}`);
816 817 818 819 820 821 822
});
```

###  terminateUpgrade

terminateUpgrade(callback: AsyncCallback\<void>): void

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

**系统能力**:SystemCapability.Update.UpdateService
826

827
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
828 829 830 831 832

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
833
| callback | AsyncCallback\<void> | 是    | 回调函数。当清除升级缓存成功时,err为undefined,否则为错误对象。 |
834 835 836 837 838

**示例:**

```
updater.terminateUpgrade((err) => {
839
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
840 841 842 843 844 845 846
});
```

### terminateUpgrade

terminateUpgrade(): Promise\<void>

847
终止升级。使用Promise异步回调。
848 849 850 851 852 853 854

**系统能力**:SystemCapability.Update.UpdateService

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
855
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
856 857 858 859

**示例:**

```
860
updater.terminateUpgrade().then(() => {
861 862
  console.log(`terminateUpgrade success`);
}).catch(err => {
863
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
864 865 866
});
```

867 868 869 870

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

871
注册事件监听。使用callback异步回调。
872 873 874 875 876 877 878

**系统能力**:SystemCapability.Update.UpdateService

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
879 880
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
881 882 883 884 885

**示例:**

```
var eventClassifyInfo = {
886
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
887 888 889 890
  extraInfo: ""
}

function onTaskUpdate(eventInfo): void {
891
  console.log(`on eventInfo id `, eventInfo.eventId);
892 893
}

894
updater.on(eventClassifyInfo, onTaskUpdate);
895 896 897 898 899
```

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

900
取消注册事件监听。使用callback异步回调。
901 902 903 904 905 906 907

**系统能力**:SystemCapability.Update.UpdateService

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
908 909
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 否    | 事件回调 |
910 911 912 913 914

**示例:**

```
var eventClassifyInfo = {
915
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
916 917 918 919
  extraInfo: ""
}

function onTaskUpdate(eventInfo): void {
920
  console.log(`on eventInfo id `, eventInfo.eventId);
921 922
}

923
updater.off(eventClassifyInfo, onTaskUpdate);
924 925
```

926
## Restorer
927 928 929 930 931

### factoryReset

factoryReset(callback: AsyncCallback\<void>): void

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

**系统能力**:SystemCapability.Update.UpdateService
935
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
936 937 938 939 940

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
941
| callback | AsyncCallback\<void> | 是    | 回调函数。当恢复出厂执行成功时,err为undefined,否则为错误对象。 |
942 943 944 945 946

**示例:**

```
restorer.factoryReset((err) => {
947
  console.log(`factoryReset error ${JSON.stringify(err)}`);
948 949 950 951 952 953 954
});
```

### factoryReset

factoryReset(): Promise\<void>

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

**系统能力**:SystemCapability.Update.UpdateService
958
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
959 960 961 962 963

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
964
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
965 966 967 968

**示例:**

```
969
restorer.factoryReset().then(() => {
970
  console.log(`factoryReset success`);
971
}).catch(err => {
972
  console.log(`factoryReset error ${JSON.stringify(err)}`);
973 974 975 976 977 978 979 980 981
});
```

## LocalUpdater

### verifyUpgradePackage

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

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

**系统能力**:SystemCapability.Update.UpdateService
985

986
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
987 988 989 990 991

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
992
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件 |
993
| certsFile | string | 是    | 证书文件路径 |
994
| callback | AsyncCallback\<number> | 是    | 回调函数,返回升级包校验结果对象 |
995 996 997 998 999

**示例:**

```
var upgradeFile = {
1000
  fileType: update.ComponentType.OTA, // OTA包
1001 1002 1003
  filePath: "path" // 本地升级包路径
}

1004
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath", (err, result) => {
1005
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1006 1007 1008 1009 1010
});
```

### verifyUpgradePackage

1011
verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise\<number>
1012

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

**系统能力**:SystemCapability.Update.UpdateService
1016

1017
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1018

1019 1020 1021 1022
**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1023
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件 |
1024 1025
| certsFile | string | 是    | 证书文件路径 |

1026 1027 1028 1029
**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
1030
| Promise\<number> | Promise对象,返回升级包校验结果对象。 |
1031 1032 1033 1034 1035

**示例:**

```
var upgradeFile = {
1036
  fileType: update.ComponentType.OTA, // OTA包
1037 1038
  filePath: "path" // 本地升级包路径
}
1039
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath").then(result => {
1040
  console.log(`verifyUpgradePackage result: ${result}`);
1041
}).catch(err => {
1042
  console.log(`verifyUpgradePackage error ${JSON.stringify(err)}`);
1043 1044 1045 1046
});
```

### applyNewVersion
1047
applyNewVersion(upgradeFiles: Array<[UpgradeFile](#upgradefile)>, callback: AsyncCallback\<void>): void
1048

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

**系统能力**:SystemCapability.Update.UpdateService
1052

1053
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1054 1055 1056 1057 1058

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1059
| upgradeFile | Array<[UpgradeFile](#upgradefile)> | 是    | 升级文件 |
1060
| callback | AsyncCallback\<void> | 是    | 回调函数。当安装升级包执行成功时,err为undefined,否则为错误对象。 |
1061 1062 1063 1064 1065

**示例:**

```
var upgradeFiles = [{
1066
  fileType: update.ComponentType.OTA, // OTA包
1067 1068 1069 1070
  filePath: "path" // 本地升级包路径
}]

localUpdater.applyNewVersion(upgradeFiles, (err) => {
1071
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1072 1073 1074 1075 1076
});
```

### applyNewVersion

1077
applyNewVersion(upgradeFiles: Array<[UpgradeFile](#upgradefile)>): Promise\<void>
1078

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

**系统能力**:SystemCapability.Update.UpdateService
1082

1083
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1084 1085 1086 1087 1088

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
1089
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1090 1091 1092 1093

**示例:**

```
1094
var upgradeFiles = [{
1095
  fileType: update.update.ComponentType.OTA, // OTA包
1096 1097
  filePath: "path" // 本地升级包路径
}]
1098
localUpdater.applyNewVersion(upgradeFiles).then(() => {
1099
  console.log(`applyNewVersion success`);
1100
}).catch(err => {
1101
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1102 1103 1104 1105 1106 1107
});
```

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

1108
注册事件监听。使用callback异步回调。
1109 1110 1111 1112 1113 1114 1115

**系统能力**:SystemCapability.Update.UpdateService

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1116 1117
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
1118 1119 1120 1121 1122

**示例:**

```
var eventClassifyInfo = {
1123
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1124 1125 1126
  extraInfo: ""
}

1127
function onTaskUpdate(eventInfo) {
1128
  console.log(`on eventInfo id `, eventInfo.eventId);
1129 1130 1131 1132 1133 1134 1135
}

localUpdater.on(eventClassifyInfo, onTaskUpdate);
```

### off
off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void
Z
zengyawen 已提交
1136

1137
取消注册事件监听。使用callback异步回调。
1138 1139 1140 1141 1142 1143 1144

**系统能力**:SystemCapability.Update.UpdateService

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1145 1146
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
1147 1148 1149 1150 1151

**示例:**

```
var eventClassifyInfo = {
1152
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1153 1154 1155
  extraInfo: ""
}

1156
function onTaskUpdate(eventInfo) {
1157
  console.log(`on eventInfo id `, eventInfo.eventId);
1158 1159 1160 1161 1162 1163 1164
}

localUpdater.off(eventClassifyInfo, onTaskUpdate);
```

## UpgradeInfo

1165
升级信息。
1166

1167
**系统能力**:SystemCapability.Update.UpdateService
1168 1169 1170 1171

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| upgradeApp          | string                      | 是    | 调用方包名  |
1172
| businessType        | [BusinessType](#businesstype) | 是    | 升级业务类型    |
1173 1174 1175 1176 1177

## BusinessType

升级业务类型。

1178
**系统能力**:SystemCapability.Update.UpdateService
1179 1180 1181

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1182
| vendor              | [BusinessVendor](#businessvendor)   | 是    | 供应商  |
1183
| subType             | [BusinessSubType](#businesssubtype) | 是    | 类型    |
1184 1185 1186 1187 1188

## CheckResult

搜包结果。

1189
**系统能力**:SystemCapability.Update.UpdateService
1190 1191 1192 1193

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| isExistNewVersion              | bool   | 是    | 是否有新版本  |
1194
| newVersionInfo             | [NewVersionInfo](#newversioninfo) | 否    | 新版本数据    |
1195 1196 1197 1198 1199

## NewVersionInfo

新版本数据。

1200
**系统能力**:SystemCapability.Update.UpdateService
1201 1202 1203

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1204 1205
| versionDigestInfo              | [VersionDigestInfo](#versiondigestinfo)   | 是    | 版本摘要  |
| versionComponents             | Array\<[VersionComponent](#vesioncomponent)>  | 是    | 版本组件    |
1206 1207 1208 1209 1210

## VersionDigestInfo

版本摘要。

1211
**系统能力**:SystemCapability.Update.UpdateService
1212 1213 1214 1215 1216 1217 1218

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| versionDigest              | string   | 是    | 版本摘要  |

## VersionComponent

1219
版本组件。
1220

1221
**系统能力**:SystemCapability.Update.UpdateService
1222 1223 1224

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1225 1226
| componentType              | [ComponentType](#componentyype)   | 是    | 组件类型  |
| upgradeAction              | [UpgradeAction](#upgradeaction)   | 是    | 升级方式  |
1227 1228 1229
| displayVersion              | string   | 是    | 显示版本号  |
| innerVersion              | string   | 是    | 版本号  |
| size              | number   | 是    | 升级包大小  |
1230 1231
| effectiveMode              | [EffectiveMode](#effectivemode)   | 是    | 生效模式  |
| descriptionInfo              | [DescriptionInfo](#descriptioninfo)   | 是    | 版本描述文件信息  |
1232 1233 1234

## DescriptionInfo

1235
版本描述文件信息。
1236

1237
**系统能力**:SystemCapability.Update.UpdateService
1238 1239 1240

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1241
| descriptionType              | [DescriptionType](#descriptiontype)   | 是    | 描述文件类型  |
1242
| content              |  string  | 是    | 描述文件内容  |
1243 1244 1245 1246 1247

## CurrentVersionInfo

当前版本信息。

1248
**系统能力**:SystemCapability.Update.UpdateService
1249 1250 1251 1252

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| osVersion              | string   | 是    | 系统版本号  |
1253
| deviceName              | string   | 是    | 设备名  |
1254
| versionComponents              | Array\<[VersionComponent](#vesioncomponent)>   | 否    | 版本组件  |
1255 1256 1257

## DownloadOptions

1258
下载选项。
1259

1260
**系统能力**:SystemCapability.Update.UpdateService
1261 1262 1263

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1264
| allowNetwork              | [NetType](#nettype)   | 是    | 网络类型  |
1265
| order              | [Order](#order)   | 是    | 升级指令  |
1266 1267 1268

## ResumeDownloadOptions

1269
恢复下载选项。
1270

1271
**系统能力**:SystemCapability.Update.UpdateService
1272 1273 1274

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1275
| allowNetwork              | [NetType](#nettype)   | 是    | 网络类型  |
1276 1277 1278

## PauseDownloadOptions

1279
暂停下载选项。
1280

1281
**系统能力**:SystemCapability.Update.UpdateService
1282 1283 1284 1285 1286 1287 1288

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| isAllowAutoResume              | bool   | 是    | 是否允许自动恢复  |

## UpgradeOptions

1289
升级选项。
1290

1291
**系统能力**:SystemCapability.Update.UpdateService
1292 1293 1294

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1295
| order              | [Order](#order)   | 是    | 升级指令  |
1296 1297 1298

## ClearOptions

1299
清除异常选项。
1300

1301
**系统能力**:SystemCapability.Update.UpdateService
1302 1303 1304

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1305
| status              | [UpgradeStatus](#upgradestatus)   | 是    | 异常状态  |
1306 1307

## UpgradePolicy
Z
zengyawen 已提交
1308 1309 1310

升级策略。

1311
**系统能力**:SystemCapability.Update.UpdateService
1312

H
HelloCrease 已提交
1313 1314
| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1315 1316
| downloadStrategy        | bool                        | 是    | 自动下载策略  |
| autoUpgradeStrategy         | bool | 是    | 自动升级策略    |
1317
| autoUpgradePeriods | Array\<[UpgradePeriod](#upgradeperiod)>              | 是    | 自动升级时间段 |
1318 1319 1320 1321 1322

## UpgradePeriod

升级时间段。

1323
**系统能力**:SystemCapability.Update.UpdateService
1324 1325 1326 1327 1328 1329 1330 1331

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| start        | number                        | 是    | 开始时间  |
| end         | number | 是    | 结束时间    |

## TaskInfo

1332
任务信息。
1333

1334
**系统能力**:SystemCapability.Update.UpdateService
1335 1336 1337

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1338
| existTask        | bool                        | 是    | 是否存在任务  |
1339
| taskBody         | [TaskBody](#taskinfo) | 是    | 任务数据    |
1340 1341 1342

## EventInfo

1343
事件信息。
1344

1345
**系统能力**:SystemCapability.Update.UpdateService
1346 1347 1348

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1349
| eventId        |   [EventId](#eventid)    | 是    | 事件ID  |
1350
| taskBody         | [TaskBody](#taskinfo) | 是    | 任务数据    |
1351 1352 1353

## TaskBody

1354
任务数据。
1355

1356
**系统能力**:SystemCapability.Update.UpdateService
1357 1358 1359

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1360 1361
| versionDigestInfo        |   [VersionDigestInfo](#versiondigestinfo)    | 是    | 版本摘要  |
| status         | [UpgradeStatus](#upgradestatus) | 是    | 升级状态    |
1362 1363 1364
| subStatus         | number | 否    | 子状态    |
| progress         | number | 是    | 进度    |
| installMode         | number | 是    | 安装模式    |
1365 1366
| errorMessages         |  Array\<[ErrorMessage](#errormessage)>  | 否    | 错误信息    |
| versionComponets         | Array\<[VersionComponet](#versioncomponet)> | 是    | 版本组件    |
1367 1368 1369

## ErrorMessage

1370
错误信息。
1371

1372
**系统能力**:SystemCapability.Update.UpdateService
1373 1374 1375 1376

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| errorCode        |   number   | 是    | 错误码  |
1377
| errorMessage         | string | 是    | 错误描述    |
1378

1379 1380 1381 1382
## EventClassifyInfo

事件信息。

1383
**系统能力**:SystemCapability.Update.UpdateService
1384 1385 1386 1387 1388 1389

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| eventClassify        |   EventClassify   | 是    | 事件类型  |
| extraInfo         | string | 是    | 额外信息    |

1390 1391 1392 1393
## UpgradeFile

升级文件。

1394
**系统能力**:SystemCapability.Update.UpdateService
1395 1396 1397 1398 1399 1400 1401 1402

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| fileType        |   ComponentType   | 是    | 文件类型  |
| filePath         | string | 是    | 文件路径    |

## UpgradeTaskCallback

1403
### onTaskUpdate
1404
onTaskUpdate(eventInfo: [EventInfo](#eventinfo)): void
1405

1406
事件回调。
1407

1408
**系统能力**:SystemCapability.Update.UpdateService
1409 1410 1411

| 名称              | 参数类型                                     | 必填   | 说明   |
| --------------- | ---------------------------------------- | ---- | ---- |
1412
| eventInfo          | [EventInfo](#eventinfo)     | 是    | 事件信息 |
Z
zengyawen 已提交
1413

1414 1415 1416 1417
## BusinessVendor

设备厂家。

1418
**系统能力**:SystemCapability.Update.UpdateService
1419 1420 1421 1422 1423 1424 1425 1426 1427

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| PUBLIC   | "public" | 开源  |

## BusinessSubType

升级类型。

1428
**系统能力**:SystemCapability.Update.UpdateService
1429 1430 1431 1432 1433 1434 1435 1436 1437

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| FIRWARE   | 1 | 固件  |

## ComponentType

升级包类型。

1438
**系统能力**:SystemCapability.Update.UpdateService
1439 1440 1441 1442 1443 1444 1445 1446 1447

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| OTA   | 1 | 固件  |

## UpgradeAction

升级方式。

1448
**系统能力**:SystemCapability.Update.UpdateService
1449 1450 1451 1452 1453 1454 1455 1456 1457 1458

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| UPGRADE   | "upgrade" | 差分包  |
| RECOVERY   | "recovery" | 修复包  |

## EffectiveMode

生效模式。

1459
**系统能力**:SystemCapability.Update.UpdateService
1460 1461 1462 1463 1464

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| COLD   | 1 | 冷升级  |
| LIVE   | 2 | 热升级  |
1465
| LIVE_AND_COLD   | 3 | 融合升级  |
1466 1467 1468 1469 1470

## DescriptionType

描述文件类型。

1471
**系统能力**:SystemCapability.Update.UpdateService
1472 1473 1474 1475 1476 1477 1478 1479 1480 1481

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| CONTENT   | 0 | 内容  |
| URI   | 1 | 链接  |

## NetType

网络类型。

1482
**系统能力**:SystemCapability.Update.UpdateService
1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| CELLULAR   | 1 | 数据网络  |
| METERED_WIFI   | 2 | 热点WIFI  |
| NOT_METERED_WIFI   | 4 | 非热点WIFI  |
| WIFI   | 6 | WIFI  |
| CELLULAR_AND_WIFI   | 7 | 数据网络和WIFI  |

## Order

升级指令。

1496
**系统能力**:SystemCapability.Update.UpdateService
1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| DOWNLOAD   | 1 | 下载  |
| INSTALL   | 2 | 安装  |
| APPLY   | 4 | 生效  |
| DOWNLOAD_AND_INSTALL   | 3 | 下载并安装  |
| INSTALL_AND_APPLY   | 6 | 安装并生效  |

## UpgradeStatus

1508
升级状态。
1509

1510
**系统能力**:SystemCapability.Update.UpdateService
1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| WAITING_DOWNLOAD   | 20 | 待下载  |
| DOWNLOADING   | 21 | 下载中  |
| DOWNLOAD_PAUSE   | 22 | 下载暂停  |
| DOWNLOAD_FAIL   | 23 | 下载失败  |
| WAITING_INSTALL   | 30 | 待安装  |
| UPDATING   | 31 | 更新中  |
| WATING_APPLY   | 40 | 待生效  |
| APPLYING   | 21 | 生效中  |
| UPGRADE_SUCCESS   | 50 | 升级成功  |
| UPGRADE_FAIL   | 51 | 升级失败  |

## EventClassify

事件类型。

1529
**系统能力**:SystemCapability.Update.UpdateService
1530 1531 1532 1533 1534 1535 1536 1537 1538

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| TASK   | 0x01000000 | 任务事件  |

## EventId

事件ID。

1539
**系统能力**:SystemCapability.Update.UpdateService
1540 1541 1542 1543

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| EVENT_TASK_BASE   | 0x01000000 | 任务事件  |
1544
| EVENT_TASK_RECEIVE   | 0x01000001 | 收到任务  |
1545 1546 1547 1548 1549 1550 1551 1552 1553
| EVENT_TASK_CANCEL   | 0x01000010 | 取消任务  |
| EVENT_DOWNLOAD_WAIT   | 0x01000011 | 待下载  |
| EVENT_DOWNLOAD_START   | 0x01000100 | 开始下载  |
| EVENT_DOWNLOAD_UPDATE   | 0x01000101 | 下载进度更新  |
| EVENT_DOWNLOAD_PAUSE   | 0x01000110 | 下载暂停  |
| EVENT_DOWNLOAD_RESUME   | 0x01000111 | 恢复下载  |
| EVENT_DOWNLOAD_SUCCESS   | 0x01001000 | 下载成功  |
| EVENT_DOWNLOAD_FAIL   | 0x01001001 | 下载失败  |
| EVENT_UPGRADE_WAIT   | 0x01001010 | 待升级  |
1554 1555 1556 1557 1558 1559
| EVENT_UPGRADE_START   | 0x01001011 | 开始升级  |
| EVENT_UPGRADE_UPDATE   | 0x01001100 | 升级中  |
| EVENT_APPLY_WAIT   | 0x01001101 | 待生效  |
| EVENT_APPLY_START   | 0x01001110 | 开始生效  |
| EVENT_UPGRADE_SUCCESS   | 0x01001111 | 更新成功  |
| EVENT_UPGRADE_FAIL   | 0x01010000 | 更新失败  |