js-apis-update.md 55.1 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

**参数:**

H
HelloCrease 已提交
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

**返回值:**

H
HelloCrease 已提交
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 215 216 217 218 219 220 221 222 223 224 225
###  getNewVersionDescription

getNewVersionDescription(versionDigestInfo: VersionDigestInfo, descriptionOptions: DescriptionOptions, callback: AsyncCallback\<Array\<ComponentDescription>>): void

获取新版本描述文件。使用callback异步回调。

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

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

**参数:**

H
HelloCrease 已提交
226 227 228 229 230
| 参数名                | 类型                                       | 必填   | 说明             |
| ------------------ | ---------------------------------------- | ---- | -------------- |
| versionDigestInfo  | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息         |
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项         |
| callback           | AsyncCallback\<Array\<[ComponentDescription](#componentdescription)>>) | 是    | 回调函数,返回新版本描述文件 |
231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263

**示例:**

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

// 描述文件选项
var descriptionOptions = {
  format: DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
}

updater.getNewVersionDescription(versionDigestInfo, descriptionOptions, (err, info) => {
  console.log(`getNewVersionDescription info ${JSON.stringify(info)}`);
  console.log(`getNewVersionDescription err ${JSON.stringify(err)}`);
});
```

### getNewVersionDescription

getNewVersionDescription(versionDigestInfo: VersionDigestInfo, descriptionOptions: DescriptionOptions): Promise\<Array\<ComponentDescription>>;

获取新版本描述文件。使用Promise异步回调。

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

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

**参数:**

H
HelloCrease 已提交
264 265 266
| 参数名                | 类型                                       | 必填   | 说明     |
| ------------------ | ---------------------------------------- | ---- | ------ |
| versionDigestInfo  | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息 |
267
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项 |
268 269 270

**返回值:**

H
HelloCrease 已提交
271 272
| 类型                                       | 说明                  |
| ---------------------------------------- | ------------------- |
273
| Promise\<Array\<[ComponentDescription](#componentdescription)>> | Promise对象,返回新版本描述文件 |
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295

**示例:**

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

// 描述文件选项
var descriptionOptions = {
  format: DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
}

updater.getNewVersionDescription(versionDigestInfo, descriptionOptions).then(info => {
  console.log(`getNewVersionDescription promise info ${JSON.stringify(info)}`);
}).catch(err => {
  console.log(`getNewVersionDescription promise error ${JSON.stringify(err)}`);
});
```

296
###  getCurrentVersionInfo
Z
zengyawen 已提交
297

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

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

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

304
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
305

Z
zengyawen 已提交
306 307
**参数:**

H
HelloCrease 已提交
308 309
| 参数名      | 类型                                       | 必填   | 说明               |
| -------- | ---------------------------------------- | ---- | ---------------- |
310
| callback | AsyncCallback\<[CurrentVersionInfo](#currentversioninfo)> | 是    | 回调函数,返回当前版本信息对象。 |
Z
zengyawen 已提交
311 312 313 314

**示例:**

```
315
updater.getCurrentVersionInfo((err, info) => {
316 317 318
  console.log(`info osVersion = ${info?.osVersion}`);
  console.log(`info deviceName = ${info?.deviceName}`);
  console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
Z
zengyawen 已提交
319
});
Z
zengyawen 已提交
320 321
```

322
### getCurrentVersionInfo
Z
zengyawen 已提交
323

324
getCurrentVersionInfo(): Promise\<CurrentVersionInfo>
Z
zengyawen 已提交
325

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

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

330
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
331

332
**返回值:**
Z
zengyawen 已提交
333

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

338
**示例:**
Z
zengyawen 已提交
339 340

```
341
updater.getCurrentVersionInfo().then(info => {
342 343 344
  console.log(`info osVersion = ${info.osVersion}`);
  console.log(`info deviceName = ${info.deviceName}`);
  console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
Z
zengyawen 已提交
345
}).catch(err => {
346
  console.log(`getCurrentVersionInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
347
});
Z
zengyawen 已提交
348 349
```

350 351
###  getCurrentVersionDescription

352
getCurrentVersionDescription(descriptionOptions: DescriptionOptions, callback: AsyncCallback\<Array\<ComponentDescription>>): void
353 354 355 356 357 358 359 360 361

获取当前版本描述文件。使用callback异步回调。

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

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

**参数:**

H
HelloCrease 已提交
362 363 364 365
| 参数名                | 类型                                       | 必填   | 说明              |
| ------------------ | ---------------------------------------- | ---- | --------------- |
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项          |
| callback           | AsyncCallback\<Array\<[ComponentDescription](#componentdescription)>>) | 是    | 回调函数,返回当前版本描述文件 |
366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383

**示例:**

```
// 描述文件选项
var descriptionOptions = {
  format: DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
}

updater.getCurrentVersionDescription(descriptionOptions, (err, info) => {
  console.log(`getCurrentVersionDescription info ${JSON.stringify(info)}`);
  console.log(`getCurrentVersionDescription err ${JSON.stringify(err)}`);
});
```

### getCurrentVersionDescription

384
getCurrentVersionDescription(descriptionOptions: DescriptionOptions): Promise\<Array\<ComponentDescription>>
385 386 387 388 389 390 391 392 393

获取当前版本描述文件。使用Promise异步回调。

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

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

**参数:**

H
HelloCrease 已提交
394 395
| 参数名                | 类型                                       | 必填   | 说明     |
| ------------------ | ---------------------------------------- | ---- | ------ |
396
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项 |
397 398 399

**返回值:**

H
HelloCrease 已提交
400 401
| 类型                                       | 说明                   |
| ---------------------------------------- | -------------------- |
402
| Promise\<Array\<[ComponentDescription](#componentdescription)>> | Promise对象,返回当前版本描述文件 |
403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419

**示例:**

```
// 描述文件选项
var descriptionOptions = {
  format: DescriptionFormat.STANDARD, // 标准格式
  language: "zh-cn" // 中文
}

updater.getCurrentVersionDescription(descriptionOptions).then(info => {
  console.log(`getCurrentVersionDescription promise info ${JSON.stringify(info)}`);
}).catch(err => {
  console.log(`getCurrentVersionDescription promise error ${JSON.stringify(err)}`);
});
```

420
###  getTaskInfo
Z
zengyawen 已提交
421

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

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

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

428
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
429

Z
zengyawen 已提交
430 431
**参数:**

H
HelloCrease 已提交
432 433
| 参数名      | 类型                                    | 必填   | 说明               |
| -------- | ------------------------------------- | ---- | ---------------- |
434
| callback | AsyncCallback\<[TaskInfo](#taskinfo)> | 是    | 回调函数,返回升级任务信息对象。 |
Z
zengyawen 已提交
435 436 437 438

**示例:**

```
439
updater.getTaskInfo((err, info) => {
440
  console.log(`getTaskInfo isexistTask= ${info?.existTask}`);
Z
zengyawen 已提交
441 442 443
});
```

444
### getTaskInfo
Z
zengyawen 已提交
445

446
getTaskInfo(): Promise\<TaskInfo>
Z
zengyawen 已提交
447

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

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

452 453
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限

Z
zengyawen 已提交
454 455
**返回值:**

H
HelloCrease 已提交
456 457
| 类型                              | 说明                  |
| ------------------------------- | ------------------- |
458
| Promise\<[TaskInfo](#taskinfo)> | Promise对象,返回任务信息对象。 |
Z
zengyawen 已提交
459 460 461 462

**示例:**

```
463
updater.getTaskInfo().then(info => {
464
  console.log(`getTaskInfo isexistTask= ${info.existTask}`);
Z
zengyawen 已提交
465
}).catch(err => {
466
  console.log(`getTaskInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
467 468 469
});
```

470
###  download
Z
zengyawen 已提交
471

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

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

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

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

Z
zengyawen 已提交
480 481
**参数:**

H
HelloCrease 已提交
482 483 484 485 486
| 参数名               | 类型                                      | 必填   | 说明                                 |
| ----------------- | --------------------------------------- | ---- | ---------------------------------- |
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息                             |
| downloadOptions   | [DownloadOptions](#downloadoptions)     | 是    | 下载选项                               |
| callback          | AsyncCallback\<void>                    | 是    | 回调函数。当下载成功时,err为undefined,否则为错误对象。 |
Z
zengyawen 已提交
487 488 489 490

**示例:**

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

// 下载选项
var downloadOptions = {
江海 已提交
498
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
499
  order: update.Order.DOWNLOAD // 下载
500 501
}
updater.download(versionDigestInfo, downloadOptions, (err) => {
502
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
503 504 505
});
```

506
### download
Z
zengyawen 已提交
507

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

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

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

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

516 517
**参数:**

H
HelloCrease 已提交
518 519
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
520
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
H
HelloCrease 已提交
521
| downloadOptions   | [DownloadOptions](#downloadoptions)     | 是    | 下载选项   |
522

Z
zengyawen 已提交
523 524
**返回值:**

H
HelloCrease 已提交
525 526
| 类型             | 说明                         |
| -------------- | -------------------------- |
527
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
528 529 530 531

**示例:**

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

// 下载选项
var downloadOptions = {
江海 已提交
539
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
540
  order: update.Order.DOWNLOAD // 下载
541
}
542
updater.download(versionDigestInfo, downloadOptions).then(() => {
543
  console.log(`download start`);
Z
zengyawen 已提交
544
}).catch(err => {
545
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
546 547 548
});
```

549
###  resumeDownload
Z
zengyawen 已提交
550

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

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

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

557
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
558

Z
zengyawen 已提交
559 560
**参数:**

H
HelloCrease 已提交
561 562 563 564 565
| 参数名                   | 类型                                       | 必填   | 说明                                   |
| --------------------- | ---------------------------------------- | ---- | ------------------------------------ |
| versionDigestInfo     | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息                               |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项                               |
| callback              | AsyncCallback\<void>                     | 是    | 回调函数。当恢复下载成功时,err为undefined,否则为错误对象。 |
Z
zengyawen 已提交
566 567 568 569

**示例:**

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

// 恢复下载选项
var resumeDownloadOptions = {
江海 已提交
577
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
578 579
}
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions, (err) => {
580
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
581 582 583
});
```

584 585 586 587
### resumeDownload

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

588
恢复下载新版本。使用Promise异步回调。
589 590

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

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

**参数:**

H
HelloCrease 已提交
596 597 598
| 参数名                   | 类型                                       | 必填   | 说明     |
| --------------------- | ---------------------------------------- | ---- | ------ |
| versionDigestInfo     | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息 |
599
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项 |
600 601 602

**返回值:**

H
HelloCrease 已提交
603 604
| 类型             | 说明                         |
| -------------- | -------------------------- |
605
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
606 607 608 609 610 611

**示例:**

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

// 恢复下载选项
var resumeDownloadOptions = {
江海 已提交
617
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
618 619 620 621
}
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions).then(value => {
  console.log(`resumeDownload start`);
}).catch(err => {
622
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
623 624 625 626 627 628 629
});
```

###  pauseDownload

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

630
暂停下载新版本。使用callback异步回调。
631 632

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

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

**参数:**

H
HelloCrease 已提交
638 639 640 641 642
| 参数名                  | 类型                                       | 必填   | 说明                                   |
| -------------------- | ---------------------------------------- | ---- | ------------------------------------ |
| versionDigestInfo    | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息                               |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项                               |
| callback             | AsyncCallback\<void>                     | 是    | 回调函数。当暂停下载成功时,err为undefined,否则为错误对象。 |
643 644 645 646 647 648

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
649
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
650 651 652 653
}

// 暂停下载选项
var pauseDownloadOptions = {
654
  isAllowAutoResume: true // 允许自动恢复下载
655 656
}
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions, (err) => {
657
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
658 659 660 661 662 663 664
});
```

### pauseDownload

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

665
恢复下载新版本。使用Promise异步回调。
666 667

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

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

**参数:**

H
HelloCrease 已提交
673 674 675
| 参数名                  | 类型                                       | 必填   | 说明     |
| -------------------- | ---------------------------------------- | ---- | ------ |
| versionDigestInfo    | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息 |
676
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项 |
677 678 679

**返回值:**

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

**示例:**

```
// 版本摘要信息
var versionDigestInfo = {
689
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
690 691 692 693
}

// 暂停下载选项
var pauseDownloadOptions = {
694
  isAllowAutoResume: true // 允许自动恢复下载
695 696
}
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions).then(value => {
697
  console.log(`pauseDownload`);
698
}).catch(err => {
699
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
700 701
});
```
Z
zengyawen 已提交
702

703
###  upgrade
Z
zengyawen 已提交
704

705 706
upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions, callback: AsyncCallback\<void>): void

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

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

711
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
712

713 714
**参数:**

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

Z
zengyawen 已提交
721 722 723
**示例:**

```
724 725
// 版本摘要信息
var versionDigestInfo = {
726
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
727 728 729 730
}

// 安装选项
var upgradeOptions = {
731
  order: update.Order.INSTALL // 安装指令
732 733
}
updater.upgrade(versionDigestInfo, upgradeOptions, (err) => {
734
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
735
});
Z
zengyawen 已提交
736 737 738 739
```

### upgrade

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

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

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

746
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
747

748 749
**参数:**

H
HelloCrease 已提交
750 751
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
752
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
H
HelloCrease 已提交
753
| upgradeOptions    | [UpgradeOptions](#upgradeoptions)       | 是    | 更新选项   |
754 755 756

**返回值:**

H
HelloCrease 已提交
757 758
| 类型             | 说明                         |
| -------------- | -------------------------- |
759
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
760

Z
zengyawen 已提交
761 762 763
**示例:**

```
764 765
// 版本摘要信息
var versionDigestInfo = {
766
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
767 768 769 770
}

// 安装选项
var upgradeOptions = {
771
  order: update.Order.INSTALL // 安装指令
772
}
773
updater.upgrade(versionDigestInfo, upgradeOptions).then(() => {
774 775
  console.log(`upgrade start`);
}).catch(err => {
776
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
777
});
Z
zengyawen 已提交
778 779
```

780
###  clearError
Z
zengyawen 已提交
781

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

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

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

788
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
789

Z
zengyawen 已提交
790 791
**参数:**

H
HelloCrease 已提交
792 793 794 795 796
| 参数名               | 类型                                      | 必填   | 说明                                   |
| ----------------- | --------------------------------------- | ---- | ------------------------------------ |
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息                               |
| clearOptions      | [ClearOptions](#clearoptions)           | 是    | 清除选项                                 |
| callback          | AsyncCallback\<void>                    | 是    | 回调函数。当清除异常成功时,err为undefined,否则为错误对象。 |
Z
zengyawen 已提交
797 798 799 800

**示例:**

```
801 802
// 版本摘要信息
var versionDigestInfo = {
803
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
Z
zengyawen 已提交
804
}
805 806 807

// 清除选项
var clearOptions = {
808
  status: update.UpgradeStatus.UPGRADE_FAIL,
809 810
}
updater.clearError(versionDigestInfo, clearOptions, (err) => {
811
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
812
});
Z
zengyawen 已提交
813 814
```

815
### clearError
Z
zengyawen 已提交
816

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

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

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

823
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
824

Z
zengyawen 已提交
825 826
**参数:**

H
HelloCrease 已提交
827 828
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
829
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
H
HelloCrease 已提交
830
| clearOptions      | [ClearOptions](#clearoptions)           | 是    | 更新选项   |
Z
zengyawen 已提交
831 832 833

**返回值:**

H
HelloCrease 已提交
834 835
| 类型             | 说明                         |
| -------------- | -------------------------- |
836
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
837 838 839 840

**示例:**

```
841 842
// 版本摘要信息
var versionDigestInfo = {
843
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
Z
zengyawen 已提交
844
}
845 846 847

// 清除选项
var clearOptions = {
848
  status: update.UpgradeStatus.UPGRADE_FAIL,
849
}
850
updater.clearError(versionDigestInfo, clearOptions).then(() => {
851 852
  console.log(`clearError success`);
}).catch(err => {
853
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
854
});
Z
zengyawen 已提交
855 856
```

857
### getUpgradePolicy
Z
zengyawen 已提交
858

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

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

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

865
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
866

Z
zengyawen 已提交
867 868
**参数:**

H
HelloCrease 已提交
869 870
| 参数名      | 类型                                       | 必填   | 说明              |
| -------- | ---------------------------------------- | ---- | --------------- |
871
| callback | AsyncCallback\<[UpgradePolicy](#upgradepolicy)> | 是    | 回调函数,返回升级策略信息对象 |
Z
zengyawen 已提交
872 873 874 875

**示例:**

```
876
updater.getUpgradePolicy((err, policy) => {
877 878
  console.log(`policy downloadStrategy = ${policy?.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy?.autoUpgradeStrategy}`);
Z
zengyawen 已提交
879
});
Z
zengyawen 已提交
880 881
```

882
### getUpgradePolicy
Z
zengyawen 已提交
883

884
getUpgradePolicy(): Promise\<UpgradePolicy>
Z
zengyawen 已提交
885 886 887

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

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

890
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
891

Z
zengyawen 已提交
892 893
**返回值:**

H
HelloCrease 已提交
894 895
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
896
| Promise\<[UpgradePolicy](#upgradepolicy)> | Promise对象,返回升级策略信息对象。 |
Z
zengyawen 已提交
897 898 899 900

**示例:**

```
901
updater.getUpgradePolicy().then(policy => {
902 903
  console.log(`policy downloadStrategy = ${policy.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy.autoUpgradeStrategy}`);
Z
zengyawen 已提交
904
}).catch(err => {
905
  console.log(`getUpgradePolicy promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
906
});
Z
zengyawen 已提交
907 908
```

909
### setUpgradePolicy
Z
zengyawen 已提交
910

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

913
设置升级策略。使用callback异步回调。
914

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

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

919
**参数:**
Z
zengyawen 已提交
920

H
HelloCrease 已提交
921 922 923 924
| 参数名      | 类型                              | 必填   | 说明            |
| -------- | ------------------------------- | ---- | ------------- |
| policy   | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略          |
| callback | AsyncCallback\<void>            | 是    | 回调函数,返回设置结果对象 |
Z
zengyawen 已提交
925

926
**示例:**
927

928
```
929 930 931
let policy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
江海 已提交
932
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
933
}
934 935
updater.setUpgradePolicy(policy, (err) => {
  console.log(`setUpgradePolicy result: ${err}`);
936 937
});
```
Z
zengyawen 已提交
938

939
### setUpgradePolicy
Z
zengyawen 已提交
940

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

943
设置升级策略。使用Promise异步回调。
944

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

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

949
**参数:**
Z
zengyawen 已提交
950

H
HelloCrease 已提交
951 952
| 参数名    | 类型                              | 必填   | 说明   |
| ------ | ------------------------------- | ---- | ---- |
953
| policy | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略 |
Z
zengyawen 已提交
954

955
**返回值:**
956

H
HelloCrease 已提交
957 958
| 类型             | 说明                  |
| -------------- | ------------------- |
959
| Promise\<void> | Promise对象,返回设置结果对象。 |
960 961 962 963 964 965 966

**示例:**

```
let policy = {
  downloadStrategy: false,
  autoUpgradeStrategy: false,
江海 已提交
967
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
968
}
969 970
updater.setUpgradePolicy(policy).then(() => {
  console.log(`setUpgradePolicy success`);
江海 已提交
971
}).catch(err => {
972
  console.log(`setUpgradePolicy promise error ${JSON.stringify(err)}`);
973 974 975 976 977 978 979
});
```

###  terminateUpgrade

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

980
终止升级。使用callback异步回调。
981 982

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

984
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
985 986 987

**参数:**

H
HelloCrease 已提交
988 989
| 参数名      | 类型                   | 必填   | 说明                                     |
| -------- | -------------------- | ---- | -------------------------------------- |
990
| callback | AsyncCallback\<void> | 是    | 回调函数。当清除升级缓存成功时,err为undefined,否则为错误对象。 |
991 992 993 994 995

**示例:**

```
updater.terminateUpgrade((err) => {
996
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
997 998 999 1000 1001 1002 1003
});
```

### terminateUpgrade

terminateUpgrade(): Promise\<void>

1004
终止升级。使用Promise异步回调。
1005 1006 1007

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

1008 1009
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限

1010 1011
**返回值:**

H
HelloCrease 已提交
1012 1013
| 类型             | 说明                         |
| -------------- | -------------------------- |
1014
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1015 1016 1017 1018

**示例:**

```
1019
updater.terminateUpgrade().then(() => {
1020 1021
  console.log(`terminateUpgrade success`);
}).catch(err => {
1022
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
1023 1024 1025
});
```

1026 1027 1028 1029

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

1030
注册事件监听。使用callback异步回调。
1031 1032 1033 1034 1035

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

**参数:**

H
HelloCrease 已提交
1036 1037 1038 1039
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
1040 1041 1042 1043 1044

**示例:**

```
var eventClassifyInfo = {
1045
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1046 1047 1048
  extraInfo: ""
}

1049 1050 1051
updater.on(eventClassifyInfo, (eventInfo) => {
  console.log("updater on " + JSON.stringify(eventInfo));
});
1052 1053 1054 1055 1056
```

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

1057
取消注册事件监听。使用callback异步回调。
1058 1059 1060 1061 1062

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

**参数:**

H
HelloCrease 已提交
1063 1064 1065 1066
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 否    | 事件回调 |
1067 1068 1069 1070 1071

**示例:**

```
var eventClassifyInfo = {
1072
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1073 1074 1075
  extraInfo: ""
}

1076 1077 1078
updater.off(eventClassifyInfo, (eventInfo) => {
  console.log("updater off " + JSON.stringify(eventInfo));
});
1079 1080
```

1081
## Restorer
1082 1083 1084 1085 1086

### factoryReset

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

1087
恢复出厂设置。使用callback异步回调。
1088 1089

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

1091
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
1092 1093 1094

**参数:**

H
HelloCrease 已提交
1095 1096
| 参数名      | 类型                   | 必填   | 说明                                     |
| -------- | -------------------- | ---- | -------------------------------------- |
1097
| callback | AsyncCallback\<void> | 是    | 回调函数。当恢复出厂执行成功时,err为undefined,否则为错误对象。 |
1098 1099 1100 1101 1102

**示例:**

```
restorer.factoryReset((err) => {
1103
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1104 1105 1106 1107 1108 1109 1110
});
```

### factoryReset

factoryReset(): Promise\<void>

1111
恢复出厂设置。使用Promise异步回调。
1112 1113

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

1115
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
1116 1117 1118

**返回值:**

H
HelloCrease 已提交
1119 1120
| 类型             | 说明                         |
| -------------- | -------------------------- |
1121
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1122 1123 1124 1125

**示例:**

```
1126
restorer.factoryReset().then(() => {
1127
  console.log(`factoryReset success`);
1128
}).catch(err => {
1129
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1130 1131 1132 1133 1134 1135 1136
});
```

## LocalUpdater

### verifyUpgradePackage

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

1139
校验升级包。使用callback异步回调。
1140 1141

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

1143
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1144 1145 1146

**参数:**

H
HelloCrease 已提交
1147 1148 1149 1150 1151
| 参数名         | 类型                          | 必填   | 说明               |
| ----------- | --------------------------- | ---- | ---------------- |
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件             |
| certsFile   | string                      | 是    | 证书文件路径           |
| callback    | AsyncCallback\<void>        | 是    | 回调函数,返回升级包校验结果对象 |
1152 1153 1154 1155 1156

**示例:**

```
var upgradeFile = {
1157
  fileType: update.ComponentType.OTA, // OTA包
1158 1159 1160
  filePath: "path" // 本地升级包路径
}

1161
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath", (err) => {
1162
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1163 1164 1165 1166 1167
});
```

### verifyUpgradePackage

1168
verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise\<void>
1169

1170
校验升级包。使用Promise异步回调。
1171 1172

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

1174
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1175

1176 1177
**参数:**

H
HelloCrease 已提交
1178 1179 1180 1181
| 参数名         | 类型                          | 必填   | 说明     |
| ----------- | --------------------------- | ---- | ------ |
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件   |
| certsFile   | string                      | 是    | 证书文件路径 |
1182

1183 1184
**返回值:**

H
HelloCrease 已提交
1185 1186
| 类型             | 说明                     |
| -------------- | ---------------------- |
1187
| Promise\<void> | Promise对象,返回升级包校验结果对象。 |
1188 1189 1190 1191 1192

**示例:**

```
var upgradeFile = {
1193
  fileType: update.ComponentType.OTA, // OTA包
1194 1195
  filePath: "path" // 本地升级包路径
}
1196 1197
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath").then(() => {
  console.log(`verifyUpgradePackage success`);
1198
}).catch(err => {
1199
  console.log(`verifyUpgradePackage error ${JSON.stringify(err)}`);
1200 1201 1202 1203
});
```

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

1206
安装升级包。使用callback异步回调。
1207 1208

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

1210
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1211 1212 1213

**参数:**

H
HelloCrease 已提交
1214 1215 1216 1217
| 参数名         | 类型                                 | 必填   | 说明                                      |
| ----------- | ---------------------------------- | ---- | --------------------------------------- |
| upgradeFile | Array<[UpgradeFile](#upgradefile)> | 是    | 升级文件                                    |
| callback    | AsyncCallback\<void>               | 是    | 回调函数。当安装升级包执行成功时,err为undefined,否则为错误对象。 |
1218 1219 1220 1221 1222

**示例:**

```
var upgradeFiles = [{
1223
  fileType: update.ComponentType.OTA, // OTA包
1224 1225 1226 1227
  filePath: "path" // 本地升级包路径
}]

localUpdater.applyNewVersion(upgradeFiles, (err) => {
1228
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1229 1230 1231 1232 1233
});
```

### applyNewVersion

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

1236
安装升级包。使用Promise异步回调。
1237 1238

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

1240
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1241 1242 1243

**返回值:**

H
HelloCrease 已提交
1244 1245
| 类型             | 说明                         |
| -------------- | -------------------------- |
1246
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1247 1248 1249 1250

**示例:**

```
1251
var upgradeFiles = [{
江海 已提交
1252
  fileType: update.ComponentType.OTA, // OTA包
1253 1254
  filePath: "path" // 本地升级包路径
}]
1255
localUpdater.applyNewVersion(upgradeFiles).then(() => {
1256
  console.log(`applyNewVersion success`);
1257
}).catch(err => {
1258
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1259 1260 1261 1262 1263 1264
});
```

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

1265
注册事件监听。使用callback异步回调。
1266 1267 1268 1269 1270

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

**参数:**

H
HelloCrease 已提交
1271 1272 1273 1274
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
1275 1276 1277 1278 1279

**示例:**

```
var eventClassifyInfo = {
1280
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1281 1282 1283
  extraInfo: ""
}

1284
function onTaskUpdate(eventInfo) {
1285
  console.log(`on eventInfo id `, eventInfo.eventId);
1286 1287 1288 1289 1290 1291 1292
}

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

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

1294
取消注册事件监听。使用callback异步回调。
1295 1296 1297 1298 1299

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

**参数:**

H
HelloCrease 已提交
1300 1301 1302 1303
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调 |
1304 1305 1306 1307 1308

**示例:**

```
var eventClassifyInfo = {
1309
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1310 1311 1312
  extraInfo: ""
}

1313
function onTaskUpdate(eventInfo) {
1314
  console.log(`on eventInfo id `, eventInfo.eventId);
1315 1316 1317 1318 1319 1320 1321
}

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

## UpgradeInfo

1322
升级信息。
1323

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

H
HelloCrease 已提交
1326 1327 1328 1329
| 名称           | 参数类型                          | 必填   | 说明     |
| ------------ | ----------------------------- | ---- | ------ |
| upgradeApp   | string                        | 是    | 调用方包名  |
| businessType | [BusinessType](#businesstype) | 是    | 升级业务类型 |
1330 1331 1332 1333 1334

## BusinessType

升级业务类型。

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

H
HelloCrease 已提交
1337 1338 1339 1340
| 名称      | 参数类型                                | 必填   | 说明   |
| ------- | ----------------------------------- | ---- | ---- |
| vendor  | [BusinessVendor](#businessvendor)   | 是    | 供应商  |
| subType | [BusinessSubType](#businesssubtype) | 是    | 类型   |
1341 1342 1343 1344 1345

## CheckResult

搜包结果。

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

H
HelloCrease 已提交
1348 1349 1350 1351
| 名称                | 参数类型                              | 必填   | 说明     |
| ----------------- | --------------------------------- | ---- | ------ |
| isExistNewVersion | bool                              | 是    | 是否有新版本 |
| newVersionInfo    | [NewVersionInfo](#newversioninfo) | 否    | 新版本数据  |
1352 1353 1354 1355 1356

## NewVersionInfo

新版本数据。

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

H
HelloCrease 已提交
1359 1360 1361 1362
| 名称                | 参数类型                                     | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要 |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 是    | 版本组件 |
1363 1364 1365 1366 1367

## VersionDigestInfo

版本摘要。

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

H
HelloCrease 已提交
1370 1371 1372
| 名称            | 参数类型   | 必填   | 说明   |
| ------------- | ------ | ---- | ---- |
| versionDigest | string | 是    | 版本摘要 |
1373 1374 1375

## VersionComponent

1376
版本组件。
1377

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

H
HelloCrease 已提交
1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
| 名称              | 参数类型                                | 必填   | 说明       |
| --------------- | ----------------------------------- | ---- | -------- |
| componentId     | number                              | 是    | 组件标识     |
| componentType   | [ComponentType](#componenttype)     | 是    | 组件类型     |
| upgradeAction   | [UpgradeAction](#upgradeaction)     | 是    | 升级方式     |
| displayVersion  | string                              | 是    | 显示版本号    |
| innerVersion    | string                              | 是    | 版本号      |
| size            | number                              | 是    | 升级包大小    |
| effectiveMode   | [EffectiveMode](#effectivemode)     | 是    | 生效模式     |
| descriptionInfo | [DescriptionInfo](#descriptioninfo) | 是    | 版本描述文件信息 |
1390

1391 1392 1393 1394 1395 1396
## DescriptionOptions

描述文件选项。

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

H
HelloCrease 已提交
1397 1398 1399 1400
| 名称       | 参数类型                                    | 必填   | 说明     |
| -------- | --------------------------------------- | ---- | ------ |
| format   | [DescriptionFormat](#descriptionformat) | 是    | 描述文件格式 |
| language | string                                  | 是    | 描述文件语言 |
1401 1402 1403

## ComponentDescription

1404
组件描述文件。
1405 1406 1407

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

H
HelloCrease 已提交
1408 1409 1410 1411
| 名称              | 参数类型                                | 必填   | 说明     |
| --------------- | ----------------------------------- | ---- | ------ |
| componentId     | string                              | 是    | 组件标识   |
| descriptionInfo | [DescriptionInfo](#descriptioninfo) | 是    | 描述文件信息 |
1412

1413 1414
## DescriptionInfo

1415
版本描述文件信息。
1416

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

H
HelloCrease 已提交
1419 1420 1421 1422
| 名称              | 参数类型                                | 必填   | 说明     |
| --------------- | ----------------------------------- | ---- | ------ |
| descriptionType | [DescriptionType](#descriptiontype) | 是    | 描述文件类型 |
| content         | string                              | 是    | 描述文件内容 |
1423 1424 1425 1426 1427

## CurrentVersionInfo

当前版本信息。

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

H
HelloCrease 已提交
1430 1431 1432 1433 1434
| 名称                | 参数类型                                     | 必填   | 说明    |
| ----------------- | ---------------------------------------- | ---- | ----- |
| osVersion         | string                                   | 是    | 系统版本号 |
| deviceName        | string                                   | 是    | 设备名   |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 否    | 版本组件  |
1435 1436 1437

## DownloadOptions

1438
下载选项。
1439

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

H
HelloCrease 已提交
1442 1443 1444 1445
| 名称           | 参数类型                | 必填   | 说明   |
| ------------ | ------------------- | ---- | ---- |
| allowNetwork | [NetType](#nettype) | 是    | 网络类型 |
| order        | [Order](#order)     | 是    | 升级指令 |
1446 1447 1448

## ResumeDownloadOptions

1449
恢复下载选项。
1450

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

H
HelloCrease 已提交
1453 1454 1455
| 名称           | 参数类型                | 必填   | 说明   |
| ------------ | ------------------- | ---- | ---- |
| allowNetwork | [NetType](#nettype) | 是    | 网络类型 |
1456 1457 1458

## PauseDownloadOptions

1459
暂停下载选项。
1460

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

H
HelloCrease 已提交
1463 1464 1465
| 名称                | 参数类型 | 必填   | 说明       |
| ----------------- | ---- | ---- | -------- |
| isAllowAutoResume | bool | 是    | 是否允许自动恢复 |
1466 1467 1468

## UpgradeOptions

1469
升级选项。
1470

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

H
HelloCrease 已提交
1473 1474 1475
| 名称    | 参数类型            | 必填   | 说明   |
| ----- | --------------- | ---- | ---- |
| order | [Order](#order) | 是    | 升级指令 |
1476 1477 1478

## ClearOptions

1479
清除异常选项。
1480

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

H
HelloCrease 已提交
1483 1484 1485
| 名称     | 参数类型                            | 必填   | 说明   |
| ------ | ------------------------------- | ---- | ---- |
| status | [UpgradeStatus](#upgradestatus) | 是    | 异常状态 |
1486 1487

## UpgradePolicy
Z
zengyawen 已提交
1488 1489 1490

升级策略。

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

H
HelloCrease 已提交
1493 1494 1495 1496 1497
| 名称                  | 参数类型                                    | 必填   | 说明      |
| ------------------- | --------------------------------------- | ---- | ------- |
| downloadStrategy    | bool                                    | 是    | 自动下载策略  |
| autoUpgradeStrategy | bool                                    | 是    | 自动升级策略  |
| autoUpgradePeriods  | Array\<[UpgradePeriod](#upgradeperiod)> | 是    | 自动升级时间段 |
1498 1499 1500 1501 1502

## UpgradePeriod

升级时间段。

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

H
HelloCrease 已提交
1505 1506 1507 1508
| 名称    | 参数类型   | 必填   | 说明   |
| ----- | ------ | ---- | ---- |
| start | number | 是    | 开始时间 |
| end   | number | 是    | 结束时间 |
1509 1510 1511

## TaskInfo

1512
任务信息。
1513

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

H
HelloCrease 已提交
1516 1517 1518 1519
| 名称        | 参数类型                  | 必填   | 说明     |
| --------- | --------------------- | ---- | ------ |
| existTask | bool                  | 是    | 是否存在任务 |
| taskBody  | [TaskBody](#taskinfo) | 是    | 任务数据   |
1520 1521 1522

## EventInfo

1523
事件信息。
1524

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

H
HelloCrease 已提交
1527 1528 1529 1530
| 名称       | 参数类型                  | 必填   | 说明   |
| -------- | --------------------- | ---- | ---- |
| eventId  | [EventId](#eventid)   | 是    | 事件ID |
| taskBody | [TaskBody](#taskinfo) | 是    | 任务数据 |
1531 1532 1533

## TaskBody

1534
任务数据。
1535

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

H
HelloCrease 已提交
1538 1539 1540 1541 1542 1543 1544 1545 1546
| 名称                | 参数类型                                     | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要 |
| status            | [UpgradeStatus](#upgradestatus)          | 是    | 升级状态 |
| subStatus         | number                                   | 否    | 子状态  |
| progress          | number                                   | 是    | 进度   |
| installMode       | number                                   | 是    | 安装模式 |
| errorMessages     | Array\<[ErrorMessage](#errormessage)>    | 否    | 错误信息 |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 是    | 版本组件 |
1547 1548 1549

## ErrorMessage

1550
错误信息。
1551

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

H
HelloCrease 已提交
1554 1555 1556 1557
| 名称           | 参数类型   | 必填   | 说明   |
| ------------ | ------ | ---- | ---- |
| errorCode    | number | 是    | 错误码  |
| errorMessage | string | 是    | 错误描述 |
1558

1559 1560 1561 1562
## EventClassifyInfo

事件信息。

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

H
HelloCrease 已提交
1565 1566 1567 1568
| 名称            | 参数类型                            | 必填   | 说明   |
| ------------- | ------------------------------- | ---- | ---- |
| eventClassify | [EventClassify](#eventclassify) | 是    | 事件类型 |
| extraInfo     | string                          | 是    | 额外信息 |
1569

1570 1571 1572 1573
## UpgradeFile

升级文件。

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

H
HelloCrease 已提交
1576 1577 1578 1579
| 名称       | 参数类型                            | 必填   | 说明   |
| -------- | ------------------------------- | ---- | ---- |
| fileType | [ComponentType](#componenttype) | 是    | 文件类型 |
| filePath | string                          | 是    | 文件路径 |
1580 1581 1582

## UpgradeTaskCallback

1583
### (eventInfo: [EventInfo](#eventinfo)): void
1584

1585
事件回调。
1586

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

H
HelloCrease 已提交
1589 1590 1591
| 名称        | 参数类型                    | 必填   | 说明   |
| --------- | ----------------------- | ---- | ---- |
| eventInfo | [EventInfo](#eventinfo) | 是    | 事件信息 |
Z
zengyawen 已提交
1592

1593 1594 1595 1596
## BusinessVendor

设备厂家。

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

H
HelloCrease 已提交
1599 1600 1601
| 参数名    | 默认值      | 说明   |
| ------ | -------- | ---- |
| PUBLIC | "public" | 开源   |
1602 1603 1604 1605 1606

## BusinessSubType

升级类型。

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

H
HelloCrease 已提交
1609 1610 1611
| 参数名      | 默认值  | 说明   |
| -------- | ---- | ---- |
| FIRMWARE | 1    | 固件   |
1612 1613 1614

## ComponentType

1615
组件类型。
1616

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

H
HelloCrease 已提交
1619 1620 1621
| 参数名  | 默认值  | 说明   |
| ---- | ---- | ---- |
| OTA  | 1    | 固件   |
1622 1623 1624 1625 1626

## UpgradeAction

升级方式。

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

H
HelloCrease 已提交
1629 1630 1631 1632
| 参数名      | 默认值        | 说明   |
| -------- | ---------- | ---- |
| UPGRADE  | "upgrade"  | 差分包  |
| RECOVERY | "recovery" | 修复包  |
1633 1634 1635 1636 1637

## EffectiveMode

生效模式。

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

H
HelloCrease 已提交
1640 1641 1642 1643 1644
| 参数名           | 默认值  | 说明   |
| ------------- | ---- | ---- |
| COLD          | 1    | 冷升级  |
| LIVE          | 2    | 热升级  |
| LIVE_AND_COLD | 3    | 融合升级 |
1645 1646 1647 1648 1649

## DescriptionType

描述文件类型。

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

H
HelloCrease 已提交
1652 1653 1654 1655
| 参数名     | 默认值  | 说明   |
| ------- | ---- | ---- |
| CONTENT | 0    | 内容   |
| URI     | 1    | 链接   |
1656

1657 1658 1659 1660 1661 1662
## DescriptionFormat

描述文件格式。

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

H
HelloCrease 已提交
1663 1664 1665 1666
| 参数名        | 默认值  | 说明   |
| ---------- | ---- | ---- |
| STANDARD   | 0    | 标准格式 |
| SIMPLIFIED | 1    | 简易格式 |
1667

1668 1669 1670 1671
## NetType

网络类型。

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

H
HelloCrease 已提交
1674 1675 1676 1677 1678 1679 1680
| 参数名               | 默认值  | 说明        |
| ----------------- | ---- | --------- |
| CELLULAR          | 1    | 数据网络      |
| METERED_WIFI      | 2    | 热点WIFI    |
| NOT_METERED_WIFI  | 4    | 非热点WIFI   |
| WIFI              | 6    | WIFI      |
| CELLULAR_AND_WIFI | 7    | 数据网络和WIFI |
1681 1682 1683 1684 1685

## Order

升级指令。

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

H
HelloCrease 已提交
1688 1689 1690 1691 1692 1693 1694
| 参数名                  | 默认值  | 说明    |
| -------------------- | ---- | ----- |
| DOWNLOAD             | 1    | 下载    |
| INSTALL              | 2    | 安装    |
| DOWNLOAD_AND_INSTALL | 3    | 下载并安装 |
| APPLY                | 4    | 生效    |
| INSTALL_AND_APPLY    | 6    | 安装并生效 |
1695 1696 1697

## UpgradeStatus

1698
升级状态。
1699

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

H
HelloCrease 已提交
1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713
| 参数名              | 默认值  | 说明   |
| ---------------- | ---- | ---- |
| WAITING_DOWNLOAD | 20   | 待下载  |
| DOWNLOADING      | 21   | 下载中  |
| DOWNLOAD_PAUSED  | 22   | 下载暂停 |
| DOWNLOAD_FAIL    | 23   | 下载失败 |
| WAITING_INSTALL  | 30   | 待安装  |
| UPDATING         | 31   | 更新中  |
| WAITING_APPLY    | 40   | 待生效  |
| APPLYING         | 21   | 生效中  |
| UPGRADE_SUCCESS  | 50   | 升级成功 |
| UPGRADE_FAIL     | 51   | 升级失败 |
1714 1715 1716 1717 1718

## EventClassify

事件类型。

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

H
HelloCrease 已提交
1721 1722 1723
| 参数名  | 默认值        | 说明   |
| ---- | ---------- | ---- |
| TASK | 0x01000000 | 任务事件 |
1724 1725 1726 1727 1728

## EventId

事件ID。

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

H
HelloCrease 已提交
1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749
| 参数名                    | 默认值        | 说明     |
| ---------------------- | ---------- | ------ |
| EVENT_TASK_BASE        | 0x01000000 | 任务事件   |
| EVENT_TASK_RECEIVE     | 0x01000001 | 收到任务   |
| 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 | 待升级    |
| EVENT_UPGRADE_START    | 0x01001011 | 开始升级   |
| EVENT_UPGRADE_UPDATE   | 0x01001100 | 升级中    |
| EVENT_APPLY_WAIT       | 0x01001101 | 待生效    |
| EVENT_APPLY_START      | 0x01001110 | 开始生效   |
| EVENT_UPGRADE_SUCCESS  | 0x01001111 | 更新成功   |
| EVENT_UPGRADE_FAIL     | 0x01010000 | 更新失败   |