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

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

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

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

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

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

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

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

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

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

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

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

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

**返回值:**

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

**示例:**

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

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

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

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

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

Z
zengyawen 已提交
67 68 69

**返回值:**

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

**示例:**

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

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

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

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

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

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

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

**示例:**

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

Z
zengyawen 已提交
108 109
## Updater

110 111 112 113
### checkNewVersion

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

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

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

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

**参数:**

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

**示例:**

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

### checkNewVersion

checkNewVersion(): Promise\<CheckResult>

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

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

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

**返回值:**

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

**示例:**

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

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

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

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

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

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

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

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

**示例:**

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

### getNewVersionInfo

getNewVersionInfo(): Promise\<NewVersionInfo>

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

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

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

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

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

**示例:**

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

214 215 216 217 218 219 220 221 222 223 224 225 226 227
###  getNewVersionDescription

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

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

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

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
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 264 265

**示例:**

```
// 版本摘要信息
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,该权限为系统权限

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
266 267
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项 |
268 269 270 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 362 363

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

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

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
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 394 395

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

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

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
396
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项 |
397 398 399 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
**参数:**

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
**返回值:**

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
**参数:**

482 483
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
484 485
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| downloadOptions | [DownloadOptions](#downloadoptions) | 是    | 下载选项 |
486
| 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 518 519
**参数:**

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

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

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
**参数:**

561 562
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
563 564
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项 |
565
| 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 596 597

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
598 599
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项 |
600 601 602 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 638 639

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
640 641
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项 |
642
| 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 673 674

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
675 676
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项 |
677 678 679 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 715 716
**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
717 718
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| upgradeOptions | [UpgradeOptions](#upgradeoptions) | 是    | 更新选项 |
719
| 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 750 751
**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
752 753
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| upgradeOptions | [UpgradeOptions](#upgradeoptions) | 是    | 更新选项 |
754 755 756 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
**参数:**

792 793
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
794 795
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息 |
| clearOptions | [ClearOptions](#clearoptions) | 是    | 清除选项 |
796
| 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
**参数:**

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

**返回值:**

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

921 922
| 参数名      | 类型                                       | 必填   | 说明         |
| -------- | ---------------------------------------- | ---- | ---------- |
923
| policy | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略 |
924
| 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

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

955
**返回值:**
956

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 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 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 1036 1037

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
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 1063 1064

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
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 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 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 1147 1148

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1149
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件 |
1150
| certsFile | string | 是    | 证书文件路径 |
1151
| 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 1178 1179
**参数:**

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

1183 1184 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 1214 1215

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
1216
| upgradeFile | Array<[UpgradeFile](#upgradefile)> | 是    | 升级文件 |
1217
| 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 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 1271 1272

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
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 1300 1301

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

**参数:**

| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
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 1326 1327 1328

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

## BusinessType

升级业务类型。

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

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

## CheckResult

搜包结果。

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

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

## NewVersionInfo

新版本数据。

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

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

## VersionDigestInfo

版本摘要。

1368
**系统能力**:SystemCapability.Update.UpdateService
1369 1370 1371 1372 1373 1374 1375

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

## VersionComponent

1376
版本组件。
1377

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

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

1391 1392 1393 1394 1395 1396 1397 1398
## DescriptionOptions

描述文件选项。

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

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

## ComponentDescription

1404
组件描述文件。
1405 1406 1407 1408 1409

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

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

1413 1414
## DescriptionInfo

1415
版本描述文件信息。
1416

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

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

## CurrentVersionInfo

当前版本信息。

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

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

## DownloadOptions

1438
下载选项。
1439

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

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

## ResumeDownloadOptions

1449
恢复下载选项。
1450

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

| 名称                  | 参数类型                        | 必填   | 说明      |
| ------------------- | --------------------------- | ---- | ------- |
1455
| allowNetwork              | [NetType](#nettype)   | 是    | 网络类型  |
1456 1457 1458

## PauseDownloadOptions

1459
暂停下载选项。
1460

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

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

## UpgradeOptions

1469
升级选项。
1470

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

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

## ClearOptions

1479
清除异常选项。
1480

1481
**系统能力**:SystemCapability.Update.UpdateService
1482 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
| downloadStrategy        | bool                        | 是    | 自动下载策略  |
| autoUpgradeStrategy         | bool | 是    | 自动升级策略    |
1497
| autoUpgradePeriods | Array\<[UpgradePeriod](#upgradeperiod)>              | 是    | 自动升级时间段 |
1498 1499 1500 1501 1502

## UpgradePeriod

升级时间段。

1503
**系统能力**:SystemCapability.Update.UpdateService
1504 1505 1506 1507 1508 1509 1510 1511

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

## TaskInfo

1512
任务信息。
1513

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

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

## EventInfo

1523
事件信息。
1524

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

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

## TaskBody

1534
任务数据。
1535

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

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

## ErrorMessage

1550
错误信息。
1551

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

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

1559 1560 1561 1562
## EventClassifyInfo

事件信息。

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

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

1570 1571 1572 1573
## UpgradeFile

升级文件。

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

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

## UpgradeTaskCallback

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

1585
事件回调。
1586

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

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

1593 1594 1595 1596
## BusinessVendor

设备厂家。

1597
**系统能力**:SystemCapability.Update.UpdateService
1598 1599 1600 1601 1602 1603 1604 1605 1606

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

## BusinessSubType

升级类型。

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

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
1611
| FIRMWARE   | 1 | 固件  |
1612 1613 1614

## ComponentType

1615
组件类型。
1616

1617
**系统能力**:SystemCapability.Update.UpdateService
1618 1619 1620 1621 1622 1623 1624 1625 1626

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

## UpgradeAction

升级方式。

1627
**系统能力**:SystemCapability.Update.UpdateService
1628 1629 1630 1631 1632 1633 1634 1635 1636 1637

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

## EffectiveMode

生效模式。

1638
**系统能力**:SystemCapability.Update.UpdateService
1639 1640 1641 1642 1643

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| COLD   | 1 | 冷升级  |
| LIVE   | 2 | 热升级  |
1644
| LIVE_AND_COLD   | 3 | 融合升级  |
1645 1646 1647 1648 1649

## DescriptionType

描述文件类型。

1650
**系统能力**:SystemCapability.Update.UpdateService
1651 1652 1653 1654 1655 1656

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

1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667
## DescriptionFormat

描述文件格式。

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

| 参数名                 | 默认值  | 说明       |
| ------------------- | ---- | -------- |
| STANDARD   | 0 | 标准格式  |
| SIMPLIFIED   | 1 | 简易格式  |

1668 1669 1670 1671
## NetType

网络类型。

1672
**系统能力**:SystemCapability.Update.UpdateService
1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685

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

## Order

升级指令。

1686
**系统能力**:SystemCapability.Update.UpdateService
1687 1688 1689 1690 1691 1692

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

## UpgradeStatus

1698
升级状态。
1699

1700
**系统能力**:SystemCapability.Update.UpdateService
1701 1702 1703 1704 1705

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

## EventClassify

事件类型。

1719
**系统能力**:SystemCapability.Update.UpdateService
1720 1721 1722 1723 1724 1725 1726 1727 1728

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

## EventId

事件ID。

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

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