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

3 4 5
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
6

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

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

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

## 导入模块

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

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

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

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

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

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

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

**返回值:**

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

**示例:**

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

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

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

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

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

Z
zengyawen 已提交
65 66 67

**返回值:**

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

**示例:**

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

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

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

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

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

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

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

**示例:**

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

Z
zengyawen 已提交
106 107
## Updater

108 109 110 111
### checkNewVersion

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

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

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

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

**参数:**

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

**示例:**

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

### checkNewVersion

checkNewVersion(): Promise\<CheckResult>

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

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

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

**返回值:**

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

**示例:**

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

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

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

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

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

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

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

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

**示例:**

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

### getNewVersionInfo

getNewVersionInfo(): Promise\<NewVersionInfo>

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

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

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

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

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

**示例:**

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

212
###  getCurrentVersionInfo
Z
zengyawen 已提交
213

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

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

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

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

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

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

**示例:**

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

238
### getCurrentVersionInfo
Z
zengyawen 已提交
239

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

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

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

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

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

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

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

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

266
###  getTaskInfo
Z
zengyawen 已提交
267

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

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

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

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

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

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

**示例:**

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

290
### getTaskInfo
Z
zengyawen 已提交
291

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

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

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

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

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

**示例:**

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

314
###  download
Z
zengyawen 已提交
315

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

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

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

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

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

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

**示例:**

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

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

350
### download
Z
zengyawen 已提交
351

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

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

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

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

360 361 362 363
**参数:**

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

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

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

**示例:**

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

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

393
###  resumeDownload
Z
zengyawen 已提交
394

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

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

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

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

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

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

**示例:**

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

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

428 429 430 431
### resumeDownload

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

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

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

###  pauseDownload

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

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

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

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

**参数:**

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

**示例:**

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

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

### pauseDownload

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

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

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

547
###  upgrade
Z
zengyawen 已提交
548

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

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

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

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

557 558 559 560
**参数:**

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

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

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

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

### upgrade

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

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

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

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

592 593 594 595
**参数:**

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

**返回值:**

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

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

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

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

624
###  clearError
Z
zengyawen 已提交
625

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

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

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

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

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

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

**示例:**

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

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

659
### clearError
Z
zengyawen 已提交
660

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

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

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

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

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

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

**返回值:**

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

**示例:**

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

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

701
### getUpgradePolicy
Z
zengyawen 已提交
702

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

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

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

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

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

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

**示例:**

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

726
### getUpgradePolicy
Z
zengyawen 已提交
727

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

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

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

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

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

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

**示例:**

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

753
### setUpgradePolicy
Z
zengyawen 已提交
754

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

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

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

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

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

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

770
**示例:**
771

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

783
### setUpgradePolicy
Z
zengyawen 已提交
784

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

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

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

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

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

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

799
**返回值:**
800

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

**示例:**

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

###  terminateUpgrade

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

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

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

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

**参数:**

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

**示例:**

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

### terminateUpgrade

terminateUpgrade(): Promise\<void>

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

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

**返回值:**

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

**示例:**

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

868 869 870 871

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

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

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

**参数:**

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

**示例:**

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

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

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

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

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

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

**参数:**

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

**示例:**

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

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

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

927
## Restorer
928 929 930 931 932

### factoryReset

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

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

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

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

**参数:**

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

**示例:**

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

### factoryReset

factoryReset(): Promise\<void>

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

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

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

**返回值:**

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

**示例:**

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

## LocalUpdater

### verifyUpgradePackage

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

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

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

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

**参数:**

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

**示例:**

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

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

### verifyUpgradePackage

1014
verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise\<number>
1015

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

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

1020
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1021

1022 1023 1024 1025
**参数:**

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

1029 1030 1031 1032
**返回值:**

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

**示例:**

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

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

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

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

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

**参数:**

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

**示例:**

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

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

### applyNewVersion

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

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

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

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

**返回值:**

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

**示例:**

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

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

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

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

**参数:**

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

**示例:**

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

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

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

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

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

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

**参数:**

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

**示例:**

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

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

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

## UpgradeInfo

1168
升级信息。
1169

1170
**系统能力**:SystemCapability.Update.UpdateService
1171 1172 1173 1174

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

## BusinessType

升级业务类型。

1181
**系统能力**:SystemCapability.Update.UpdateService
1182 1183 1184

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

## CheckResult

搜包结果。

1192
**系统能力**:SystemCapability.Update.UpdateService
1193 1194 1195 1196

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

## NewVersionInfo

新版本数据。

1203
**系统能力**:SystemCapability.Update.UpdateService
1204 1205 1206

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

## VersionDigestInfo

版本摘要。

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

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

## VersionComponent

1222
版本组件。
1223

1224
**系统能力**:SystemCapability.Update.UpdateService
1225 1226 1227

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

## DescriptionInfo

1238
版本描述文件信息。
1239

1240
**系统能力**:SystemCapability.Update.UpdateService
1241 1242 1243

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

## CurrentVersionInfo

当前版本信息。

1251
**系统能力**:SystemCapability.Update.UpdateService
1252 1253 1254 1255

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

## DownloadOptions

1261
下载选项。
1262

1263
**系统能力**:SystemCapability.Update.UpdateService
1264 1265 1266

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

## ResumeDownloadOptions

1272
恢复下载选项。
1273

1274
**系统能力**:SystemCapability.Update.UpdateService
1275 1276 1277

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

## PauseDownloadOptions

1282
暂停下载选项。
1283

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

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

## UpgradeOptions

1292
升级选项。
1293

1294
**系统能力**:SystemCapability.Update.UpdateService
1295 1296 1297

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

## ClearOptions

1302
清除异常选项。
1303

1304
**系统能力**:SystemCapability.Update.UpdateService
1305 1306 1307

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

## UpgradePolicy
Z
zengyawen 已提交
1311 1312 1313

升级策略。

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

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

## UpgradePeriod

升级时间段。

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

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

## TaskInfo

1335
任务信息。
1336

1337
**系统能力**:SystemCapability.Update.UpdateService
1338 1339 1340

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

## EventInfo

1346
事件信息。
1347

1348
**系统能力**:SystemCapability.Update.UpdateService
1349 1350 1351

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

## TaskBody

1357
任务数据。
1358

1359
**系统能力**:SystemCapability.Update.UpdateService
1360 1361 1362

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

## ErrorMessage

1373
错误信息。
1374

1375
**系统能力**:SystemCapability.Update.UpdateService
1376 1377 1378 1379

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

1382 1383 1384 1385
## EventClassifyInfo

事件信息。

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

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

1393 1394 1395 1396
## UpgradeFile

升级文件。

1397
**系统能力**:SystemCapability.Update.UpdateService
1398 1399 1400

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

## UpgradeTaskCallback

1406
### onTaskUpdate
1407
onTaskUpdate(eventInfo: [EventInfo](#eventinfo)): void
1408

1409
事件回调。
1410

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

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

1417 1418 1419 1420
## BusinessVendor

设备厂家。

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

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

## BusinessSubType

升级类型。

1431
**系统能力**:SystemCapability.Update.UpdateService
1432 1433 1434 1435 1436 1437 1438 1439 1440

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

## ComponentType

升级包类型。

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

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

## UpgradeAction

升级方式。

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

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

## EffectiveMode

生效模式。

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

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

## DescriptionType

描述文件类型。

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

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

## NetType

网络类型。

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

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

## Order

升级指令。

1499
**系统能力**:SystemCapability.Update.UpdateService
1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510

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

## UpgradeStatus

1511
升级状态。
1512

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

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| 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

事件类型。

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

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

## EventId

事件ID。

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

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