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

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

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

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

江海 已提交
10 11 12 13 14 15
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块接口为系统接口。

Z
zengyawen 已提交
16 17 18
## 导入模块

```js
Z
zengyawen 已提交
19
import update from '@ohos.update'
Z
zengyawen 已提交
20 21
```

22
## update.getOnlineUpdater
Z
zengyawen 已提交
23

24
getOnlineUpdater(upgradeInfo: UpgradeInfo): Updater
Z
zengyawen 已提交
25

26
获取在线升级对象。
Z
zengyawen 已提交
27

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

Z
zengyawen 已提交
30 31
**参数:**

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

**返回值:**

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

**示例:**

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

59
## update.getRestorer
Z
zengyawen 已提交
60

61
getRestorer(): Restorer
Z
zengyawen 已提交
62

63
获取恢复出厂对象。
Z
zengyawen 已提交
64

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

Z
zengyawen 已提交
67 68 69

**返回值:**

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

**示例:**

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

84
## update.getLocalUpdater
Z
zengyawen 已提交
85

86
getLocalUpdater(): LocalUpdater
Z
zengyawen 已提交
87

88
获取本地升级对象。
Z
zengyawen 已提交
89

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

Z
zengyawen 已提交
92 93
**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
108 109
## Updater

110 111 112 113
### checkNewVersion

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

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

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

118
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
119 120 121 122 123

**参数:**

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

**示例:**

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

### checkNewVersion

checkNewVersion(): Promise\<CheckResult>

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

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

142
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
143 144 145 146 147

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
162 163 164 165
###  getNewVersionInfo

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

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

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

170
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
171

Z
zengyawen 已提交
172 173
**参数:**

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

**示例:**

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

### getNewVersionInfo

getNewVersionInfo(): Promise\<NewVersionInfo>

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

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

195
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
196

Z
zengyawen 已提交
197 198
**返回值:**

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

**示例:**

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

214
###  getCurrentVersionInfo
Z
zengyawen 已提交
215

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

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

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

222
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
223

Z
zengyawen 已提交
224 225
**参数:**

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

**示例:**

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

240
### getCurrentVersionInfo
Z
zengyawen 已提交
241

242
getCurrentVersionInfo(): Promise\<CurrentVersionInfo>
Z
zengyawen 已提交
243

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

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

248
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
249

250
**返回值:**
Z
zengyawen 已提交
251

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

256
**示例:**
Z
zengyawen 已提交
257 258

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

268
###  getTaskInfo
Z
zengyawen 已提交
269

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

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

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

276
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
277

Z
zengyawen 已提交
278 279
**参数:**

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

**示例:**

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

292
### getTaskInfo
Z
zengyawen 已提交
293

294
getTaskInfo(): Promise\<TaskInfo>
Z
zengyawen 已提交
295

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

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

300 301
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限

Z
zengyawen 已提交
302 303
**返回值:**

304 305
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
306
| Promise\<[TaskInfo](#taskinfo)> | Promise对象,返回任务信息对象。 |
Z
zengyawen 已提交
307 308 309 310

**示例:**

```
311
updater.getTaskInfo().then(info => {
312
  console.log(`getTaskInfo isexistTask= ${info.existTask}`);
Z
zengyawen 已提交
313
}).catch(err => {
314
  console.log(`getTaskInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
315 316 317
});
```

318
###  download
Z
zengyawen 已提交
319

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

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

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

326
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
327

Z
zengyawen 已提交
328 329
**参数:**

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

**示例:**

```
339 340
// 版本摘要信息
var versionDigestInfo = {
341
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
342 343 344 345
}

// 下载选项
var downloadOptions = {
江海 已提交
346
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
347
  order: update.Order.DOWNLOAD // 下载
348 349
}
updater.download(versionDigestInfo, downloadOptions, (err) => {
350
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
351 352 353
});
```

354
### download
Z
zengyawen 已提交
355

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

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

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

362
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
363

364 365 366 367
**参数:**

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

Z
zengyawen 已提交
371 372
**返回值:**

373 374
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
375
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
376 377 378 379

**示例:**

```
380 381
// 版本摘要信息
var versionDigestInfo = {
382
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
383 384 385 386
}

// 下载选项
var downloadOptions = {
江海 已提交
387
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
388
  order: update.Order.DOWNLOAD // 下载
389
}
390
updater.download(versionDigestInfo, downloadOptions).then(() => {
391
  console.log(`download start`);
Z
zengyawen 已提交
392
}).catch(err => {
393
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
394 395 396
});
```

397
###  resumeDownload
Z
zengyawen 已提交
398

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

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

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

405
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
406

Z
zengyawen 已提交
407 408
**参数:**

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

**示例:**

```
418 419
// 版本摘要信息
var versionDigestInfo = {
420
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
421 422 423 424
}

// 恢复下载选项
var resumeDownloadOptions = {
江海 已提交
425
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
426 427
}
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions, (err) => {
428
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
429 430 431
});
```

432 433 434 435
### resumeDownload

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

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

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

440
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
441 442 443 444 445

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
446 447
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项 |
448 449 450 451 452

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
453
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
454 455 456 457 458 459

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
460
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
461 462 463 464
}

// 恢复下载选项
var resumeDownloadOptions = {
江海 已提交
465
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
466 467 468 469
}
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions).then(value => {
  console.log(`resumeDownload start`);
}).catch(err => {
470
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
471 472 473 474 475 476 477
});
```

###  pauseDownload

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

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

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

482
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
483 484 485 486 487

**参数:**

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

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
497
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
498 499 500 501
}

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

### pauseDownload

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

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

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

517
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
518 519 520 521 522

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
523 524
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项 |
525 526 527 528 529

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
530
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
531 532 533 534 535 536

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
537
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
538 539 540 541
}

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

551
###  upgrade
Z
zengyawen 已提交
552

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

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

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

559
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
560

561 562 563 564
**参数:**

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

Z
zengyawen 已提交
569 570 571
**示例:**

```
572 573
// 版本摘要信息
var versionDigestInfo = {
574
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
575 576 577 578
}

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

### upgrade

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

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

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

594
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
595

596 597 598 599
**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
600 601
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| upgradeOptions | [UpgradeOptions](#upgradeoptions) | 是    | 更新选项 |
602 603 604 605 606

**返回值:**

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

Z
zengyawen 已提交
609 610 611
**示例:**

```
612 613
// 版本摘要信息
var versionDigestInfo = {
614
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
615 616 617 618
}

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

628
###  clearError
Z
zengyawen 已提交
629

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

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

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

636
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
637

Z
zengyawen 已提交
638 639
**参数:**

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

**示例:**

```
649 650
// 版本摘要信息
var versionDigestInfo = {
651
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
Z
zengyawen 已提交
652
}
653 654 655

// 清除选项
var clearOptions = {
656
  status: update.UpgradeStatus.UPGRADE_FAIL,
657 658
}
updater.clearError(versionDigestInfo, clearOptions, (err) => {
659
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
660
});
Z
zengyawen 已提交
661 662
```

663
### clearError
Z
zengyawen 已提交
664

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

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

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

671
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
672

Z
zengyawen 已提交
673 674
**参数:**

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

**返回值:**

682 683
| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
684
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
685 686 687 688

**示例:**

```
689 690
// 版本摘要信息
var versionDigestInfo = {
691
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
Z
zengyawen 已提交
692
}
693 694 695

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

705
### getUpgradePolicy
Z
zengyawen 已提交
706

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

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

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

713
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
714

Z
zengyawen 已提交
715 716
**参数:**

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

**示例:**

```
724
updater.getUpgradePolicy((err, policy) => {
725 726
  console.log(`policy downloadStrategy = ${policy?.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy?.autoUpgradeStrategy}`);
Z
zengyawen 已提交
727
});
Z
zengyawen 已提交
728 729
```

730
### getUpgradePolicy
Z
zengyawen 已提交
731

732
getUpgradePolicy(): Promise\<UpgradePolicy>
Z
zengyawen 已提交
733 734 735

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

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

738
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
739

Z
zengyawen 已提交
740 741
**返回值:**

H
HelloCrease 已提交
742 743
| 类型                                      | 说明                |
| --------------------------------------- | ----------------- |
744
| Promise\<[UpgradePolicy](#upgradepolicy)> | Promise对象,返回升级策略信息对象。 |
Z
zengyawen 已提交
745 746 747 748

**示例:**

```
749
updater.getUpgradePolicy().then(policy => {
750 751
  console.log(`policy downloadStrategy = ${policy.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy.autoUpgradeStrategy}`);
Z
zengyawen 已提交
752
}).catch(err => {
753
  console.log(`getUpgradePolicy promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
754
});
Z
zengyawen 已提交
755 756
```

757
### setUpgradePolicy
Z
zengyawen 已提交
758

759
setUpgradePolicy(policy: UpgradePolicy, callback: AsyncCallback\<void>): void
Z
zengyawen 已提交
760

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

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

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

767
**参数:**
Z
zengyawen 已提交
768

769 770
| 参数名      | 类型                                       | 必填   | 说明         |
| -------- | ---------------------------------------- | ---- | ---------- |
771
| policy | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略 |
772
| callback | AsyncCallback\<void> | 是    | 回调函数,返回设置结果对象 |
Z
zengyawen 已提交
773

774
**示例:**
775

776
```
777 778 779
let policy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
江海 已提交
780
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
781
}
782 783
updater.setUpgradePolicy(policy, (err) => {
  console.log(`setUpgradePolicy result: ${err}`);
784 785
});
```
Z
zengyawen 已提交
786

787
### setUpgradePolicy
Z
zengyawen 已提交
788

789
setUpgradePolicy(policy: UpgradePolicy): Promise\<void>
Z
zengyawen 已提交
790

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

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

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

797
**参数:**
Z
zengyawen 已提交
798

799 800
| 参数名    | 类型                            | 必填   | 说明     |
| ------ | ----------------------------- | ---- | ------ |
801
| policy | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略 |
Z
zengyawen 已提交
802

803
**返回值:**
804

805 806
| 类型               | 说明              |
| ---------------- | --------------- |
807
| Promise\<void> | Promise对象,返回设置结果对象。 |
808 809 810 811 812 813 814

**示例:**

```
let policy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
江海 已提交
815
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
816
}
817 818
updater.setUpgradePolicy(policy).then(() => {
  console.log(`setUpgradePolicy success`);
江海 已提交
819
}).catch(err => {
820
  console.log(`setUpgradePolicy promise error ${JSON.stringify(err)}`);
821 822 823 824 825 826 827
});
```

###  terminateUpgrade

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

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

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

832
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
833 834 835 836 837

**参数:**

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

**示例:**

```
updater.terminateUpgrade((err) => {
844
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
845 846 847 848 849 850 851
});
```

### terminateUpgrade

terminateUpgrade(): Promise\<void>

852
终止升级。使用Promise异步回调。
853 854 855

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

856 857
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限

858 859 860 861
**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
862
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
863 864 865 866

**示例:**

```
867
updater.terminateUpgrade().then(() => {
868 869
  console.log(`terminateUpgrade success`);
}).catch(err => {
870
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
871 872 873
});
```

874 875 876 877

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

878
注册事件监听。使用callback异步回调。
879 880 881 882 883 884 885

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
886 887
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
888 889 890 891 892

**示例:**

```
var eventClassifyInfo = {
893
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
894 895 896
  extraInfo: ""
}

897 898 899
updater.on(eventClassifyInfo, (eventInfo) => {
  console.log("updater on " + JSON.stringify(eventInfo));
});
900 901 902 903 904
```

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

905
取消注册事件监听。使用callback异步回调。
906 907 908 909 910 911 912

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
913 914
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 否    | 事件回调 |
915 916 917 918 919

**示例:**

```
var eventClassifyInfo = {
920
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
921 922 923
  extraInfo: ""
}

924 925 926
updater.off(eventClassifyInfo, (eventInfo) => {
  console.log("updater off " + JSON.stringify(eventInfo));
});
927 928
```

929
## Restorer
930 931 932 933 934

### factoryReset

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

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

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

939
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
940 941 942 943 944

**参数:**

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

**示例:**

```
restorer.factoryReset((err) => {
951
  console.log(`factoryReset error ${JSON.stringify(err)}`);
952 953 954 955 956 957 958
});
```

### factoryReset

factoryReset(): Promise\<void>

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

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

963
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
964 965 966 967 968

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
969
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
970 971 972 973

**示例:**

```
974
restorer.factoryReset().then(() => {
975
  console.log(`factoryReset success`);
976
}).catch(err => {
977
  console.log(`factoryReset error ${JSON.stringify(err)}`);
978 979 980 981 982 983 984
});
```

## LocalUpdater

### verifyUpgradePackage

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

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

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

991
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
992 993 994 995 996

**参数:**

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

**示例:**

```
var upgradeFile = {
1005
  fileType: update.ComponentType.OTA, // OTA包
1006 1007 1008
  filePath: "path" // 本地升级包路径
}

1009
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath", (err) => {
1010
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1011 1012 1013 1014 1015
});
```

### verifyUpgradePackage

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

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

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

1022
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1023

1024 1025 1026 1027
**参数:**

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

1031 1032 1033 1034
**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
1035
| Promise\<void> | Promise对象,返回升级包校验结果对象。 |
1036 1037 1038 1039 1040

**示例:**

```
var upgradeFile = {
1041
  fileType: update.ComponentType.OTA, // OTA包
1042 1043
  filePath: "path" // 本地升级包路径
}
1044 1045
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath").then(() => {
  console.log(`verifyUpgradePackage success`);
1046
}).catch(err => {
1047
  console.log(`verifyUpgradePackage error ${JSON.stringify(err)}`);
1048 1049 1050 1051
});
```

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

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

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

1058
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1059 1060 1061 1062 1063

**参数:**

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

**示例:**

```
var upgradeFiles = [{
1071
  fileType: update.ComponentType.OTA, // OTA包
1072 1073 1074 1075
  filePath: "path" // 本地升级包路径
}]

localUpdater.applyNewVersion(upgradeFiles, (err) => {
1076
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1077 1078 1079 1080 1081
});
```

### applyNewVersion

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

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

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

1088
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1089 1090 1091 1092 1093

**返回值:**

| 类型                                       | 说明               |
| ---------------------------------------- | ---------------- |
1094
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1095 1096 1097 1098

**示例:**

```
1099
var upgradeFiles = [{
江海 已提交
1100
  fileType: update.ComponentType.OTA, // OTA包
1101 1102
  filePath: "path" // 本地升级包路径
}]
1103
localUpdater.applyNewVersion(upgradeFiles).then(() => {
1104
  console.log(`applyNewVersion success`);
1105
}).catch(err => {
1106
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1107 1108 1109 1110 1111 1112
});
```

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

1113
注册事件监听。使用callback异步回调。
1114 1115 1116 1117 1118 1119 1120

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1121 1122
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
1123 1124 1125 1126 1127

**示例:**

```
var eventClassifyInfo = {
1128
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1129 1130 1131
  extraInfo: ""
}

1132
function onTaskUpdate(eventInfo) {
1133
  console.log(`on eventInfo id `, eventInfo.eventId);
1134 1135 1136 1137 1138 1139 1140
}

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

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

1142
取消注册事件监听。使用callback异步回调。
1143 1144 1145 1146 1147 1148 1149

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1150 1151
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo) | 是    | 事件信息 |
| taskCallback |  [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
1152 1153 1154 1155 1156

**示例:**

```
var eventClassifyInfo = {
1157
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1158 1159 1160
  extraInfo: ""
}

1161
function onTaskUpdate(eventInfo) {
1162
  console.log(`on eventInfo id `, eventInfo.eventId);
1163 1164 1165 1166 1167 1168 1169
}

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

## UpgradeInfo

1170
升级信息。
1171

1172
**系统能力**:SystemCapability.Update.UpdateService
1173 1174 1175 1176

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| upgradeApp          | string                      | 是    | 调用方包名  |
1177
| businessType        | [BusinessType](#businesstype) | 是    | 升级业务类型    |
1178 1179 1180 1181 1182

## BusinessType

升级业务类型。

1183
**系统能力**:SystemCapability.Update.UpdateService
1184 1185 1186

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1187
| vendor              | [BusinessVendor](#businessvendor)   | 是    | 供应商  |
1188
| subType             | [BusinessSubType](#businesssubtype) | 是    | 类型    |
1189 1190 1191 1192 1193

## CheckResult

搜包结果。

1194
**系统能力**:SystemCapability.Update.UpdateService
1195 1196 1197 1198

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| isExistNewVersion              | bool   | 是    | 是否有新版本  |
1199
| newVersionInfo             | [NewVersionInfo](#newversioninfo) | 否    | 新版本数据    |
1200 1201 1202 1203 1204

## NewVersionInfo

新版本数据。

1205
**系统能力**:SystemCapability.Update.UpdateService
1206 1207 1208

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1209
| versionDigestInfo              | [VersionDigestInfo](#versiondigestinfo)   | 是    | 版本摘要  |
1210
| versionComponents             | Array\<[VersionComponent](#versioncomponent)>  | 是    | 版本组件    |
1211 1212 1213 1214 1215

## VersionDigestInfo

版本摘要。

1216
**系统能力**:SystemCapability.Update.UpdateService
1217 1218 1219 1220 1221 1222 1223

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

## VersionComponent

1224
版本组件。
1225

1226
**系统能力**:SystemCapability.Update.UpdateService
1227 1228 1229

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

## DescriptionInfo

1240
版本描述文件信息。
1241

1242
**系统能力**:SystemCapability.Update.UpdateService
1243 1244 1245

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1246
| descriptionType              | [DescriptionType](#descriptiontype)   | 是    | 描述文件类型  |
1247
| content              |  string  | 是    | 描述文件内容  |
1248 1249 1250 1251 1252

## CurrentVersionInfo

当前版本信息。

1253
**系统能力**:SystemCapability.Update.UpdateService
1254 1255 1256 1257

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
| osVersion              | string   | 是    | 系统版本号  |
1258
| deviceName              | string   | 是    | 设备名  |
1259
| versionComponents              | Array\<[VersionComponent](#vesioncomponent)>   | 否    | 版本组件  |
1260 1261 1262

## DownloadOptions

1263
下载选项。
1264

1265
**系统能力**:SystemCapability.Update.UpdateService
1266 1267 1268

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1269
| allowNetwork              | [NetType](#nettype)   | 是    | 网络类型  |
1270
| order              | [Order](#order)   | 是    | 升级指令  |
1271 1272 1273

## ResumeDownloadOptions

1274
恢复下载选项。
1275

1276
**系统能力**:SystemCapability.Update.UpdateService
1277 1278 1279

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1280
| allowNetwork              | [NetType](#nettype)   | 是    | 网络类型  |
1281 1282 1283

## PauseDownloadOptions

1284
暂停下载选项。
1285

1286
**系统能力**:SystemCapability.Update.UpdateService
1287 1288 1289 1290 1291 1292 1293

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

## UpgradeOptions

1294
升级选项。
1295

1296
**系统能力**:SystemCapability.Update.UpdateService
1297 1298 1299

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1300
| order              | [Order](#order)   | 是    | 升级指令  |
1301 1302 1303

## ClearOptions

1304
清除异常选项。
1305

1306
**系统能力**:SystemCapability.Update.UpdateService
1307 1308 1309

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

## UpgradePolicy
Z
zengyawen 已提交
1313 1314 1315

升级策略。

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

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

## UpgradePeriod

升级时间段。

1328
**系统能力**:SystemCapability.Update.UpdateService
1329 1330 1331 1332 1333 1334 1335 1336

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

## TaskInfo

1337
任务信息。
1338

1339
**系统能力**:SystemCapability.Update.UpdateService
1340 1341 1342

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1343
| existTask        | bool                        | 是    | 是否存在任务  |
1344
| taskBody         | [TaskBody](#taskinfo) | 是    | 任务数据    |
1345 1346 1347

## EventInfo

1348
事件信息。
1349

1350
**系统能力**:SystemCapability.Update.UpdateService
1351 1352 1353

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1354
| eventId        |   [EventId](#eventid)    | 是    | 事件ID  |
1355
| taskBody         | [TaskBody](#taskinfo) | 是    | 任务数据    |
1356 1357 1358

## TaskBody

1359
任务数据。
1360

1361
**系统能力**:SystemCapability.Update.UpdateService
1362 1363 1364

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1365 1366
| versionDigestInfo        |   [VersionDigestInfo](#versiondigestinfo)    | 是    | 版本摘要  |
| status         | [UpgradeStatus](#upgradestatus) | 是    | 升级状态    |
1367 1368 1369
| subStatus         | number | 否    | 子状态    |
| progress         | number | 是    | 进度    |
| installMode         | number | 是    | 安装模式    |
1370
| errorMessages         |  Array\<[ErrorMessage](#errormessage)>  | 否    | 错误信息    |
1371
| versionComponents         | Array\<[VersionComponent](#versioncomponent)> | 是    | 版本组件    |
1372 1373 1374

## ErrorMessage

1375
错误信息。
1376

1377
**系统能力**:SystemCapability.Update.UpdateService
1378 1379 1380 1381

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

1384 1385 1386 1387
## EventClassifyInfo

事件信息。

1388
**系统能力**:SystemCapability.Update.UpdateService
1389 1390 1391

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1392
| eventClassify        |   [EventClassify](#eventclassify)   | 是    | 事件类型  |
1393 1394
| extraInfo         | string | 是    | 额外信息    |

1395 1396 1397 1398
## UpgradeFile

升级文件。

1399
**系统能力**:SystemCapability.Update.UpdateService
1400 1401 1402

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1403
| fileType        |   [ComponentType](#componenttype)   | 是    | 文件类型  |
1404 1405 1406 1407
| filePath         | string | 是    | 文件路径    |

## UpgradeTaskCallback

1408
### (eventInfo: [EventInfo](#eventinfo)): void
1409

1410
事件回调。
1411

1412
**系统能力**:SystemCapability.Update.UpdateService
1413 1414 1415

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

1418 1419 1420 1421
## BusinessVendor

设备厂家。

1422
**系统能力**:SystemCapability.Update.UpdateService
1423 1424 1425 1426 1427 1428 1429 1430 1431

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

## BusinessSubType

升级类型。

1432
**系统能力**:SystemCapability.Update.UpdateService
1433 1434 1435

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
1436
| FIRMWARE   | 1 | 固件  |
1437 1438 1439 1440 1441

## ComponentType

升级包类型。

1442
**系统能力**:SystemCapability.Update.UpdateService
1443 1444 1445 1446 1447 1448 1449 1450 1451

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

## UpgradeAction

升级方式。

1452
**系统能力**:SystemCapability.Update.UpdateService
1453 1454 1455 1456 1457 1458 1459 1460 1461 1462

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

## EffectiveMode

生效模式。

1463
**系统能力**:SystemCapability.Update.UpdateService
1464 1465 1466 1467 1468

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| COLD   | 1 | 冷升级  |
| LIVE   | 2 | 热升级  |
1469
| LIVE_AND_COLD   | 3 | 融合升级  |
1470 1471 1472 1473 1474

## DescriptionType

描述文件类型。

1475
**系统能力**:SystemCapability.Update.UpdateService
1476 1477 1478 1479 1480 1481 1482 1483 1484 1485

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

## NetType

网络类型。

1486
**系统能力**:SystemCapability.Update.UpdateService
1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499

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

## Order

升级指令。

1500
**系统能力**:SystemCapability.Update.UpdateService
1501 1502 1503 1504 1505 1506

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

## UpgradeStatus

1512
升级状态。
1513

1514
**系统能力**:SystemCapability.Update.UpdateService
1515 1516 1517 1518 1519

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| WAITING_DOWNLOAD   | 20 | 待下载  |
| DOWNLOADING   | 21 | 下载中  |
1520
| DOWNLOAD_PAUSED   | 22 | 下载暂停  |
1521 1522 1523
| DOWNLOAD_FAIL   | 23 | 下载失败  |
| WAITING_INSTALL   | 30 | 待安装  |
| UPDATING   | 31 | 更新中  |
1524
| WAITING_APPLY   | 40 | 待生效  |
1525 1526 1527 1528 1529 1530 1531 1532
| APPLYING   | 21 | 生效中  |
| UPGRADE_SUCCESS   | 50 | 升级成功  |
| UPGRADE_FAIL   | 51 | 升级失败  |

## EventClassify

事件类型。

1533
**系统能力**:SystemCapability.Update.UpdateService
1534 1535 1536 1537 1538 1539 1540 1541 1542

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

## EventId

事件ID。

1543
**系统能力**:SystemCapability.Update.UpdateService
1544 1545 1546 1547

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| EVENT_TASK_BASE   | 0x01000000 | 任务事件  |
1548
| EVENT_TASK_RECEIVE   | 0x01000001 | 收到任务  |
1549 1550 1551 1552 1553 1554 1555 1556 1557
| 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 | 待升级  |
1558 1559 1560 1561 1562 1563
| EVENT_UPGRADE_START   | 0x01001011 | 开始升级  |
| EVENT_UPGRADE_UPDATE   | 0x01001100 | 升级中  |
| EVENT_APPLY_WAIT   | 0x01001101 | 待生效  |
| EVENT_APPLY_START   | 0x01001110 | 开始生效  |
| EVENT_UPGRADE_SUCCESS   | 0x01001111 | 更新成功  |
| EVENT_UPGRADE_FAIL   | 0x01010000 | 更新失败  |