js-apis-update.md 69.1 KB
Newer Older
1
# @ohos.update (升级)
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
| 类型                  | 说明   |
| ------------------- | ---- |
40
| [Updater](#updater) | 升级对象。 |
Z
zengyawen 已提交
41

42 43 44 45
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

46
| 错误码ID       | 错误信息                                                  |
47 48
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
49

Z
zengyawen 已提交
50 51
**示例:**

H
HelloCrease 已提交
52
```ts
Z
zengyawen 已提交
53
try {
54
  const upgradeInfo = {
55
    upgradeApp: "com.ohos.ota.updateclient",
56
    businessType: {
57 58
      vendor: update.BusinessVendor.PUBLIC,
      subType: update.BusinessSubType.FIRMWARE
59
    }
60
  };
61
  let updater = update.getOnlineUpdater(upgradeInfo);
Z
zengyawen 已提交
62
} catch(error) {
63
  console.error(`Fail to get updater error: ${error}`);
Z
zengyawen 已提交
64 65 66
}
```

67
## update.getRestorer
Z
zengyawen 已提交
68

69
getRestorer(): Restorer
Z
zengyawen 已提交
70

71
获取恢复出厂对象。
Z
zengyawen 已提交
72

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

Z
zengyawen 已提交
75 76 77

**返回值:**

H
HelloCrease 已提交
78 79
| 类型                    | 说明     |
| --------------------- | ------ |
80
| [Restorer](#restorer) | 恢复出厂对象。 |
Z
zengyawen 已提交
81

82 83 84 85
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

86
| 错误码ID       | 错误信息                                                  |
87 88
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
89

Z
zengyawen 已提交
90 91
**示例:**

H
HelloCrease 已提交
92
```ts
Z
zengyawen 已提交
93
try {
94
  let restorer = update.getRestorer();
Z
zengyawen 已提交
95
} catch(error) {
96
  console.error(`Fail to get restorer: ${error}`);
Z
zengyawen 已提交
97 98 99
}
```

100
## update.getLocalUpdater
Z
zengyawen 已提交
101

102
getLocalUpdater(): LocalUpdater
Z
zengyawen 已提交
103

104
获取本地升级对象。
Z
zengyawen 已提交
105

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

Z
zengyawen 已提交
108 109
**返回值:**

H
HelloCrease 已提交
110 111
| 类型                            | 说明     |
| ----------------------------- | ------ |
112
| [LocalUpdater](#localupdater) | 本地升级对象。 |
Z
zengyawen 已提交
113

114 115 116 117
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

118
| 错误码ID       | 错误信息                                                  |
119 120
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
121

Z
zengyawen 已提交
122 123
**示例:**

H
HelloCrease 已提交
124
```ts
Z
zengyawen 已提交
125
try {
126
  let localUpdater = update.getLocalUpdater();
Z
zengyawen 已提交
127
} catch(error) {
128
  console.error(`Fail to get localUpdater error: ${error}`);
129
};
Z
zengyawen 已提交
130 131
```

Z
zengyawen 已提交
132 133
## Updater

134 135 136 137
### checkNewVersion

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

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

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

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

**参数:**

H
HelloCrease 已提交
146 147
| 参数名      | 类型                                       | 必填   | 说明             |
| -------- | ---------------------------------------- | ---- | -------------- |
148
| callback | AsyncCallback\<[CheckResult](#checkresult)> | 是    | 回调函数,返回搜包结果对象。 |
149

150 151 152 153
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

154
| 错误码ID       | 错误信息                                                  |
155 156
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
157

158 159
**示例:**

H
HelloCrease 已提交
160
```ts
161
updater.checkNewVersion((err, result) => {
162
  console.log(`checkNewVersion isExistNewVersion  ${result?.isExistNewVersion}`);
163 164 165 166 167 168 169
});
```

### checkNewVersion

checkNewVersion(): Promise\<CheckResult>

170
检查新版本信息。使用Promise异步回调。
171 172

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

174
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
175 176 177

**返回值:**

H
HelloCrease 已提交
178 179
| 类型                                    | 说明                  |
| ------------------------------------- | ------------------- |
180
| Promise\<[CheckResult](#checkresult)> | Promise对象,返回搜包结果对象。 |
181

182 183 184 185
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

186
| 错误码ID       | 错误信息                                                  |
187 188
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
189

190 191
**示例:**

H
HelloCrease 已提交
192
```ts
193
updater.checkNewVersion().then(result => {
194
  console.log(`checkNewVersion isExistNewVersion: ${result.isExistNewVersion}`);
195
  // 版本摘要信息
196
  console.log(`checkNewVersion versionDigestInfo: ${result.newVersionInfo.versionDigestInfo.versionDigest}`);
197
}).catch(err => {
198
  console.log(`checkNewVersion promise error ${JSON.stringify(err)}`);
199 200 201
});
```

Z
zengyawen 已提交
202 203 204 205
###  getNewVersionInfo

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

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

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

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

Z
zengyawen 已提交
212 213
**参数:**

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

218 219 220 221
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

222
| 错误码ID       | 错误信息                                                  |
223 224
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
225

Z
zengyawen 已提交
226 227
**示例:**

H
HelloCrease 已提交
228
```ts
229
updater.getNewVersionInfo((err, info) => {
230 231
  console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
  console.log(`info innerVersion = ${info?.versionComponents[0].innerVersion}`);
Z
zengyawen 已提交
232
});
Z
zengyawen 已提交
233 234 235 236 237 238
```

### getNewVersionInfo

getNewVersionInfo(): Promise\<NewVersionInfo>

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

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

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

Z
zengyawen 已提交
245 246
**返回值:**

H
HelloCrease 已提交
247 248
| 类型                                       | 说明                   |
| ---------------------------------------- | -------------------- |
249
| Promise\<[NewVersionInfo](#newversioninfo)> | Promise对象,返回新版本信息对象。 |
Z
zengyawen 已提交
250

251 252 253 254
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

255
| 错误码ID       | 错误信息                                                  |
256 257
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
258

Z
zengyawen 已提交
259 260
**示例:**

H
HelloCrease 已提交
261
```ts
262
updater.getNewVersionInfo().then(info => {
263 264
  console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
  console.log(`info innerVersion = ${info.versionComponents[0].innerVersion}`);
Z
zengyawen 已提交
265
}).catch(err => {
266
  console.log(`getNewVersionInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
267
});
Z
zengyawen 已提交
268 269
```

270 271 272 273 274 275 276 277 278 279 280 281
###  getNewVersionDescription

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

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

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

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

**参数:**

H
HelloCrease 已提交
282 283
| 参数名                | 类型                                       | 必填   | 说明             |
| ------------------ | ---------------------------------------- | ---- | -------------- |
284 285
| versionDigestInfo  | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。         |
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项。        |
286
| callback           | AsyncCallback\<Array\<[ComponentDescription](#componentdescription)>> | 是    | 回调函数,返回新版本描述文件。 |
287

288 289 290 291
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

292
| 错误码ID       | 错误信息                                                  |
293 294
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
295

296 297
**示例:**

H
HelloCrease 已提交
298
```ts
299
// 版本摘要信息
300
const versionDigestInfo = {
301
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
302
};
303 304

// 描述文件选项
305
const descriptionOptions = {
306
  format: update.DescriptionFormat.STANDARD, // 标准格式
307
  language: "zh-cn" // 中文
308
};
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327

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 已提交
328 329
| 参数名                | 类型                                       | 必填   | 说明     |
| ------------------ | ---------------------------------------- | ---- | ------ |
330 331
| versionDigestInfo  | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。 |
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项。 |
332 333 334

**返回值:**

H
HelloCrease 已提交
335 336
| 类型                                       | 说明                  |
| ---------------------------------------- | ------------------- |
337
| Promise\<Array\<[ComponentDescription](#componentdescription)>> | Promise对象,返回新版本描述文件。 |
338

339 340 341 342
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

343
| 错误码ID       | 错误信息                                                  |
344 345
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
346

347 348
**示例:**

H
HelloCrease 已提交
349
```ts
350
// 版本摘要信息
351
const versionDigestInfo = {
352
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
353
};
354 355

// 描述文件选项
356
const descriptionOptions = {
357
  format: update.DescriptionFormat.STANDARD, // 标准格式
358
  language: "zh-cn" // 中文
359
};
360 361 362 363 364 365 366 367

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

368
###  getCurrentVersionInfo
Z
zengyawen 已提交
369

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

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

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

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

Z
zengyawen 已提交
378 379
**参数:**

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

384 385 386 387
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

388
| 错误码ID       | 错误信息                                                  |
389 390
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
391

Z
zengyawen 已提交
392 393
**示例:**

H
HelloCrease 已提交
394
```ts
395
updater.getCurrentVersionInfo((err, info) => {
396 397 398
  console.log(`info osVersion = ${info?.osVersion}`);
  console.log(`info deviceName = ${info?.deviceName}`);
  console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
Z
zengyawen 已提交
399
});
Z
zengyawen 已提交
400 401
```

402
### getCurrentVersionInfo
Z
zengyawen 已提交
403

404
getCurrentVersionInfo(): Promise\<CurrentVersionInfo>
Z
zengyawen 已提交
405

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

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

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

412
**返回值:**
Z
zengyawen 已提交
413

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

418 419 420 421
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

422
| 错误码ID       | 错误信息                                                  |
423 424
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
425

426
**示例:**
Z
zengyawen 已提交
427

H
HelloCrease 已提交
428
```ts
429
updater.getCurrentVersionInfo().then(info => {
430 431 432
  console.log(`info osVersion = ${info.osVersion}`);
  console.log(`info deviceName = ${info.deviceName}`);
  console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
Z
zengyawen 已提交
433
}).catch(err => {
434
  console.log(`getCurrentVersionInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
435
});
Z
zengyawen 已提交
436 437
```

438 439
###  getCurrentVersionDescription

440
getCurrentVersionDescription(descriptionOptions: DescriptionOptions, callback: AsyncCallback\<Array\<ComponentDescription>>): void
441 442 443 444 445 446 447 448 449

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

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

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

**参数:**

H
HelloCrease 已提交
450 451
| 参数名                | 类型                                       | 必填   | 说明              |
| ------------------ | ---------------------------------------- | ---- | --------------- |
452
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项。          |
453
| callback           | AsyncCallback\<Array\<[ComponentDescription](#componentdescription)>> | 是    | 回调函数,返回当前版本描述文件。 |
454

455 456 457 458
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

459
| 错误码ID       | 错误信息                                                  |
460 461
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
462

463 464
**示例:**

H
HelloCrease 已提交
465
```ts
466
// 描述文件选项
467
const descriptionOptions = {
468
  format: update.DescriptionFormat.STANDARD, // 标准格式
469
  language: "zh-cn" // 中文
470
};
471 472 473 474 475 476 477 478 479

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

### getCurrentVersionDescription

480
getCurrentVersionDescription(descriptionOptions: DescriptionOptions): Promise\<Array\<ComponentDescription>>
481 482 483 484 485 486 487 488 489

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

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

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

**参数:**

H
HelloCrease 已提交
490 491
| 参数名                | 类型                                       | 必填   | 说明     |
| ------------------ | ---------------------------------------- | ---- | ------ |
492
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项。 |
493 494 495

**返回值:**

H
HelloCrease 已提交
496 497
| 类型                                       | 说明                   |
| ---------------------------------------- | -------------------- |
498
| Promise\<Array\<[ComponentDescription](#componentdescription)>> | Promise对象,返回当前版本描述文件。 |
499

500 501 502 503
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

504
| 错误码ID       | 错误信息                                                  |
505 506
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
507

508 509
**示例:**

H
HelloCrease 已提交
510
```ts
511
// 描述文件选项
512
const descriptionOptions = {
513
  format: update.DescriptionFormat.STANDARD, // 标准格式
514
  language: "zh-cn" // 中文
515
};
516 517 518 519 520 521 522 523

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

524
###  getTaskInfo
Z
zengyawen 已提交
525

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

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

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

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

Z
zengyawen 已提交
534 535
**参数:**

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

540 541 542 543
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

544
| 错误码ID       | 错误信息                                                  |
545 546
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
547

Z
zengyawen 已提交
548 549
**示例:**

H
HelloCrease 已提交
550
```ts
551
updater.getTaskInfo((err, info) => {
552
  console.log(`getTaskInfo isexistTask= ${info?.existTask}`);
Z
zengyawen 已提交
553 554 555
});
```

556
### getTaskInfo
Z
zengyawen 已提交
557

558
getTaskInfo(): Promise\<TaskInfo>
Z
zengyawen 已提交
559

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

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

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

Z
zengyawen 已提交
566 567
**返回值:**

H
HelloCrease 已提交
568 569
| 类型                              | 说明                  |
| ------------------------------- | ------------------- |
570
| Promise\<[TaskInfo](#taskinfo)> | Promise对象,返回任务信息对象。 |
Z
zengyawen 已提交
571

572 573 574 575
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

576
| 错误码ID       | 错误信息                                                  |
577 578
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
579

Z
zengyawen 已提交
580 581
**示例:**

H
HelloCrease 已提交
582
```ts
583
updater.getTaskInfo().then(info => {
584
  console.log(`getTaskInfo isexistTask= ${info.existTask}`);
Z
zengyawen 已提交
585
}).catch(err => {
586
  console.log(`getTaskInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
587 588 589
});
```

590
###  download
Z
zengyawen 已提交
591

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

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

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

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

Z
zengyawen 已提交
600 601
**参数:**

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

608 609 610 611
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

612
| 错误码ID       | 错误信息                                                  |
613 614
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
615

Z
zengyawen 已提交
616 617
**示例:**

H
HelloCrease 已提交
618
```ts
619
// 版本摘要信息
620
const versionDigestInfo = {
621
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
622
};
623 624

// 下载选项
625
const downloadOptions = {
江海 已提交
626
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
627
  order: update.Order.DOWNLOAD // 下载
628
};
629
updater.download(versionDigestInfo, downloadOptions, (err) => {
630
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
631 632 633
});
```

634
### download
Z
zengyawen 已提交
635

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

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

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

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

644 645
**参数:**

H
HelloCrease 已提交
646 647
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
648 649
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息。 |
| downloadOptions   | [DownloadOptions](#downloadoptions)     | 是    | 下载选项。   |
650

Z
zengyawen 已提交
651 652
**返回值:**

H
HelloCrease 已提交
653 654
| 类型             | 说明                         |
| -------------- | -------------------------- |
655
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
656

657 658 659 660
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

661
| 错误码ID       | 错误信息                                                  |
662 663
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
664

Z
zengyawen 已提交
665 666
**示例:**

H
HelloCrease 已提交
667
```ts
668
// 版本摘要信息
669
const versionDigestInfo = {
670
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
671
};
672 673

// 下载选项
674
const downloadOptions = {
江海 已提交
675
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
676
  order: update.Order.DOWNLOAD // 下载
677
};
678
updater.download(versionDigestInfo, downloadOptions).then(() => {
679
  console.log(`download start`);
Z
zengyawen 已提交
680
}).catch(err => {
681
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
682 683 684
});
```

685
###  resumeDownload
Z
zengyawen 已提交
686

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

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

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

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

Z
zengyawen 已提交
695 696
**参数:**

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

703 704 705 706
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

707
| 错误码ID       | 错误信息                                                  |
708 709
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
710

Z
zengyawen 已提交
711 712
**示例:**

H
HelloCrease 已提交
713
```ts
714
// 版本摘要信息
715
const versionDigestInfo = {
716
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
717
};
718 719

// 恢复下载选项
720
const resumeDownloadOptions = {
江海 已提交
721
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
722
};
723
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions, (err) => {
724
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
725 726 727
});
```

728 729 730 731
### resumeDownload

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

732
恢复下载新版本。使用Promise异步回调。
733 734

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

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

**参数:**

H
HelloCrease 已提交
740 741
| 参数名                   | 类型                                       | 必填   | 说明     |
| --------------------- | ---------------------------------------- | ---- | ------ |
742 743
| versionDigestInfo     | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。 |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项。 |
744 745 746

**返回值:**

H
HelloCrease 已提交
747 748
| 类型             | 说明                         |
| -------------- | -------------------------- |
749
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
750

751 752 753 754
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

755
| 错误码ID       | 错误信息                                                  |
756 757
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
758

759 760
**示例:**

H
HelloCrease 已提交
761
```ts
762
// 版本摘要信息
763
const versionDigestInfo = {
764
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
765
};
766 767

// 恢复下载选项
768
const resumeDownloadOptions = {
江海 已提交
769
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
770
};
771 772 773
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions).then(value => {
  console.log(`resumeDownload start`);
}).catch(err => {
774
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
775 776 777 778 779 780 781
});
```

###  pauseDownload

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

782
暂停下载新版本。使用callback异步回调。
783 784

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

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

**参数:**

H
HelloCrease 已提交
790 791
| 参数名                  | 类型                                       | 必填   | 说明                                   |
| -------------------- | ---------------------------------------- | ---- | ------------------------------------ |
792 793
| versionDigestInfo    | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。                               |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项。                               |
H
HelloCrease 已提交
794
| callback             | AsyncCallback\<void>                     | 是    | 回调函数。当暂停下载成功时,err为undefined,否则为错误对象。 |
795

796 797 798 799
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

800
| 错误码ID       | 错误信息                                                  |
801 802
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
803

804 805
**示例:**

H
HelloCrease 已提交
806
```ts
807
// 版本摘要信息
808
const versionDigestInfo = {
809
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
810
};
811 812

// 暂停下载选项
813
const pauseDownloadOptions = {
814
  isAllowAutoResume: true // 允许自动恢复下载
815
};
816
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions, (err) => {
817
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
818 819 820 821 822 823 824
});
```

### pauseDownload

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

825
恢复下载新版本。使用Promise异步回调。
826 827

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

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

**参数:**

H
HelloCrease 已提交
833 834
| 参数名                  | 类型                                       | 必填   | 说明     |
| -------------------- | ---------------------------------------- | ---- | ------ |
835 836
| versionDigestInfo    | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。 |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项。 |
837 838 839

**返回值:**

H
HelloCrease 已提交
840 841
| 类型             | 说明                         |
| -------------- | -------------------------- |
842
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
843

844 845 846 847
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

848
| 错误码ID       | 错误信息                                                  |
849 850
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
851

852 853
**示例:**

H
HelloCrease 已提交
854
```ts
855
// 版本摘要信息
856
const versionDigestInfo = {
857
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
858
};
859 860

// 暂停下载选项
861
const pauseDownloadOptions = {
862
  isAllowAutoResume: true // 允许自动恢复下载
863
};
864
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions).then(value => {
865
  console.log(`pauseDownload`);
866
}).catch(err => {
867
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
868 869
});
```
Z
zengyawen 已提交
870

871
###  upgrade
Z
zengyawen 已提交
872

873 874
upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions, callback: AsyncCallback\<void>): void

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

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

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

881 882
**参数:**

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

889 890 891 892
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

893
| 错误码ID       | 错误信息                                                  |
894 895
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
896

Z
zengyawen 已提交
897 898
**示例:**

H
HelloCrease 已提交
899
```ts
900
// 版本摘要信息
901
const versionDigestInfo = {
902
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
903
};
904 905

// 安装选项
906
const upgradeOptions = {
907
  order: update.Order.INSTALL // 安装指令
908
};
909
updater.upgrade(versionDigestInfo, upgradeOptions, (err) => {
910
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
911
});
Z
zengyawen 已提交
912 913 914 915
```

### upgrade

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

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

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

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

924 925
**参数:**

H
HelloCrease 已提交
926 927
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
928 929
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息。 |
| upgradeOptions    | [UpgradeOptions](#upgradeoptions)       | 是    | 更新选项。   |
930 931 932

**返回值:**

H
HelloCrease 已提交
933 934
| 类型             | 说明                         |
| -------------- | -------------------------- |
935
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
936

937 938 939 940
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

941
| 错误码ID       | 错误信息                                                  |
942 943
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
944

Z
zengyawen 已提交
945 946
**示例:**

H
HelloCrease 已提交
947
```ts
948
// 版本摘要信息
949
const versionDigestInfo = {
950
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
951
};
952 953

// 安装选项
954
const upgradeOptions = {
955
  order: update.Order.INSTALL // 安装指令
956
};
957
updater.upgrade(versionDigestInfo, upgradeOptions).then(() => {
958 959
  console.log(`upgrade start`);
}).catch(err => {
960
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
961
});
Z
zengyawen 已提交
962 963
```

964
###  clearError
Z
zengyawen 已提交
965

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

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

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

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

Z
zengyawen 已提交
974 975
**参数:**

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

982 983 984 985
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

986
| 错误码ID       | 错误信息                                                  |
987 988
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
989

Z
zengyawen 已提交
990 991
**示例:**

H
HelloCrease 已提交
992
```ts
993
// 版本摘要信息
994
const versionDigestInfo = {
995
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
996
};
997 998

// 清除选项
999
const clearOptions = {
1000
  status: update.UpgradeStatus.UPGRADE_FAIL,
1001
};
1002
updater.clearError(versionDigestInfo, clearOptions, (err) => {
1003
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
1004
});
Z
zengyawen 已提交
1005 1006
```

1007
### clearError
Z
zengyawen 已提交
1008

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

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

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

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

Z
zengyawen 已提交
1017 1018
**参数:**

H
HelloCrease 已提交
1019 1020
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
1021 1022
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息。 |
| clearOptions      | [ClearOptions](#clearoptions)           | 是    | 更新选项。   |
Z
zengyawen 已提交
1023 1024 1025

**返回值:**

H
HelloCrease 已提交
1026 1027
| 类型             | 说明                         |
| -------------- | -------------------------- |
1028
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
1029

1030 1031 1032 1033
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1034
| 错误码ID       | 错误信息                                                  |
1035 1036
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1037

Z
zengyawen 已提交
1038 1039
**示例:**

H
HelloCrease 已提交
1040
```ts
1041
// 版本摘要信息
1042
const versionDigestInfo = {
1043
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
1044
};
1045 1046

// 清除选项
1047
const clearOptions = {
1048
  status: update.UpgradeStatus.UPGRADE_FAIL,
1049
};
1050
updater.clearError(versionDigestInfo, clearOptions).then(() => {
1051 1052
  console.log(`clearError success`);
}).catch(err => {
1053
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
1054
});
Z
zengyawen 已提交
1055 1056
```

1057
### getUpgradePolicy
Z
zengyawen 已提交
1058

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

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

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

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

Z
zengyawen 已提交
1067 1068
**参数:**

H
HelloCrease 已提交
1069 1070
| 参数名      | 类型                                       | 必填   | 说明              |
| -------- | ---------------------------------------- | ---- | --------------- |
1071
| callback | AsyncCallback\<[UpgradePolicy](#upgradepolicy)> | 是    | 回调函数,返回升级策略信息对象。 |
Z
zengyawen 已提交
1072

1073 1074 1075 1076
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1077
| 错误码ID       | 错误信息                                                  |
1078 1079
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1080

Z
zengyawen 已提交
1081 1082
**示例:**

H
HelloCrease 已提交
1083
```ts
1084
updater.getUpgradePolicy((err, policy) => {
1085 1086
  console.log(`policy downloadStrategy = ${policy?.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy?.autoUpgradeStrategy}`);
Z
zengyawen 已提交
1087
});
Z
zengyawen 已提交
1088 1089
```

1090
### getUpgradePolicy
Z
zengyawen 已提交
1091

1092
getUpgradePolicy(): Promise\<UpgradePolicy>
Z
zengyawen 已提交
1093 1094 1095

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

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

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

Z
zengyawen 已提交
1100 1101
**返回值:**

H
HelloCrease 已提交
1102 1103
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
1104
| Promise\<[UpgradePolicy](#upgradepolicy)> | Promise对象,返回升级策略信息对象。 |
Z
zengyawen 已提交
1105

1106 1107 1108 1109
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1110
| 错误码ID       | 错误信息                                                  |
1111 1112
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1113

Z
zengyawen 已提交
1114 1115
**示例:**

H
HelloCrease 已提交
1116
```ts
1117
updater.getUpgradePolicy().then(policy => {
1118 1119
  console.log(`policy downloadStrategy = ${policy.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy.autoUpgradeStrategy}`);
Z
zengyawen 已提交
1120
}).catch(err => {
1121
  console.log(`getUpgradePolicy promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
1122
});
Z
zengyawen 已提交
1123 1124
```

1125
### setUpgradePolicy
Z
zengyawen 已提交
1126

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

1129
设置升级策略。使用callback异步回调。
1130

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

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

1135
**参数:**
Z
zengyawen 已提交
1136

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

1142 1143 1144 1145
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1146
| 错误码ID       | 错误信息                                                  |
1147 1148
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1149

1150
**示例:**
1151

H
HelloCrease 已提交
1152
```ts
1153
const policy = {
1154 1155
  downloadStrategy: false,
  autoUpgradeStrategy: false,
江海 已提交
1156
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
1157
};
1158 1159
updater.setUpgradePolicy(policy, (err) => {
  console.log(`setUpgradePolicy result: ${err}`);
1160 1161
});
```
Z
zengyawen 已提交
1162

1163
### setUpgradePolicy
Z
zengyawen 已提交
1164

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

1167
设置升级策略。使用Promise异步回调。
1168

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

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

1173
**参数:**
Z
zengyawen 已提交
1174

H
HelloCrease 已提交
1175 1176
| 参数名    | 类型                              | 必填   | 说明   |
| ------ | ------------------------------- | ---- | ---- |
1177
| policy | [UpgradePolicy](#upgradepolicy) | 是    | 升级策略。 |
Z
zengyawen 已提交
1178

1179
**返回值:**
1180

H
HelloCrease 已提交
1181 1182
| 类型             | 说明                  |
| -------------- | ------------------- |
1183
| Promise\<void> | Promise对象,返回设置结果对象。 |
1184

1185 1186 1187 1188
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1189
| 错误码ID       | 错误信息                                                  |
1190 1191
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1192

1193 1194
**示例:**

H
HelloCrease 已提交
1195
```ts
1196
const policy = {
1197 1198
  downloadStrategy: false,
  autoUpgradeStrategy: false,
江海 已提交
1199
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
1200
};
1201 1202
updater.setUpgradePolicy(policy).then(() => {
  console.log(`setUpgradePolicy success`);
江海 已提交
1203
}).catch(err => {
1204
  console.log(`setUpgradePolicy promise error ${JSON.stringify(err)}`);
1205 1206 1207 1208 1209 1210 1211
});
```

###  terminateUpgrade

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

1212
终止升级。使用callback异步回调。
1213 1214

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

1216
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1217 1218 1219

**参数:**

H
HelloCrease 已提交
1220 1221
| 参数名      | 类型                   | 必填   | 说明                                     |
| -------- | -------------------- | ---- | -------------------------------------- |
1222
| callback | AsyncCallback\<void> | 是    | 回调函数。当清除升级缓存成功时,err为undefined,否则为错误对象。 |
1223

1224 1225 1226 1227
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1228
| 错误码ID       | 错误信息                                                  |
1229 1230
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1231

1232 1233
**示例:**

H
HelloCrease 已提交
1234
```ts
1235
updater.terminateUpgrade((err) => {
1236
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
1237 1238 1239 1240 1241 1242 1243
});
```

### terminateUpgrade

terminateUpgrade(): Promise\<void>

1244
终止升级。使用Promise异步回调。
1245 1246 1247

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

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

1250 1251
**返回值:**

H
HelloCrease 已提交
1252 1253
| 类型             | 说明                         |
| -------------- | -------------------------- |
1254
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1255

1256 1257 1258 1259
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1260
| 错误码ID       | 错误信息                                                  |
1261 1262
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1263

1264 1265
**示例:**

H
HelloCrease 已提交
1266
```ts
1267
updater.terminateUpgrade().then(() => {
1268 1269
  console.log(`terminateUpgrade success`);
}).catch(err => {
1270
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
1271 1272 1273
});
```

1274 1275 1276 1277

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

1278
注册事件监听。使用callback异步回调。
1279 1280 1281 1282 1283

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

**参数:**

H
HelloCrease 已提交
1284 1285
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
1286 1287
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息。 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调。 |
1288

1289 1290 1291 1292
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1293
| 错误码ID       | 错误信息                                                  |
1294 1295
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1296

1297 1298
**示例:**

H
HelloCrease 已提交
1299
```ts
1300
const eventClassifyInfo = {
1301
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1302
  extraInfo: ""
1303
};
1304

1305 1306 1307
updater.on(eventClassifyInfo, (eventInfo) => {
  console.log("updater on " + JSON.stringify(eventInfo));
});
1308 1309 1310 1311 1312
```

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

1313
取消注册事件监听。使用callback异步回调。
1314 1315 1316 1317 1318

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

**参数:**

H
HelloCrease 已提交
1319 1320
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
1321 1322
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息。 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 否    | 事件回调。 |
1323

1324 1325 1326 1327
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1328
| 错误码ID       | 错误信息                                                  |
1329 1330
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1331

1332 1333
**示例:**

H
HelloCrease 已提交
1334
```ts
1335
const eventClassifyInfo = {
1336
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1337
  extraInfo: ""
1338
};
1339

1340 1341 1342
updater.off(eventClassifyInfo, (eventInfo) => {
  console.log("updater off " + JSON.stringify(eventInfo));
});
1343 1344
```

1345
## Restorer
1346 1347 1348 1349 1350

### factoryReset

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

1351
恢复出厂设置。使用callback异步回调。
1352 1353

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

1355
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
1356 1357 1358

**参数:**

H
HelloCrease 已提交
1359 1360
| 参数名      | 类型                   | 必填   | 说明                                     |
| -------- | -------------------- | ---- | -------------------------------------- |
1361
| callback | AsyncCallback\<void> | 是    | 回调函数。当恢复出厂执行成功时,err为undefined,否则为错误对象。 |
1362

1363 1364 1365 1366
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1367
| 错误码ID       | 错误信息                                                  |
1368 1369
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1370

1371 1372
**示例:**

H
HelloCrease 已提交
1373
```ts
1374
restorer.factoryReset((err) => {
1375
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1376 1377 1378 1379 1380 1381 1382
});
```

### factoryReset

factoryReset(): Promise\<void>

1383
恢复出厂设置。使用Promise异步回调。
1384 1385

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

1387
**需要权限**:ohos.permission.FACTORY_RESET,该权限为系统权限
1388 1389 1390

**返回值:**

H
HelloCrease 已提交
1391 1392
| 类型             | 说明                         |
| -------------- | -------------------------- |
1393
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1394

1395 1396 1397 1398
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1399
| 错误码ID       | 错误信息                                                  |
1400 1401
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1402

1403 1404
**示例:**

H
HelloCrease 已提交
1405
```ts
1406
restorer.factoryReset().then(() => {
1407
  console.log(`factoryReset success`);
1408
}).catch(err => {
1409
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1410 1411 1412 1413 1414 1415 1416
});
```

## LocalUpdater

### verifyUpgradePackage

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

1419
校验升级包。使用callback异步回调。
1420 1421

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

1423
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1424 1425 1426

**参数:**

H
HelloCrease 已提交
1427 1428
| 参数名         | 类型                          | 必填   | 说明               |
| ----------- | --------------------------- | ---- | ---------------- |
1429 1430 1431
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件。             |
| certsFile   | string                      | 是    | 证书文件路径。           |
| callback    | AsyncCallback\<void>        | 是    | 回调函数,返回升级包校验结果对象。 |
1432

1433 1434 1435 1436
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1437
| 错误码ID       | 错误信息                                                  |
1438 1439
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1440

1441 1442
**示例:**

H
HelloCrease 已提交
1443
```ts
1444
const upgradeFile = {
1445
  fileType: update.ComponentType.OTA, // OTA包
1446
  filePath: "path" // 本地升级包路径
1447
};
1448

1449
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath", (err) => {
1450
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1451 1452 1453 1454 1455
});
```

### verifyUpgradePackage

1456
verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise\<void>
1457

1458
校验升级包。使用Promise异步回调。
1459 1460

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

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

1464 1465
**参数:**

H
HelloCrease 已提交
1466 1467
| 参数名         | 类型                          | 必填   | 说明     |
| ----------- | --------------------------- | ---- | ------ |
1468 1469
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件。   |
| certsFile   | string                      | 是    | 证书文件路径。 |
1470

1471 1472
**返回值:**

H
HelloCrease 已提交
1473 1474
| 类型             | 说明                     |
| -------------- | ---------------------- |
1475
| Promise\<void> | Promise对象,返回升级包校验结果对象。 |
1476

1477 1478 1479 1480
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1481
| 错误码ID       | 错误信息                                                  |
1482 1483
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1484

1485 1486
**示例:**

H
HelloCrease 已提交
1487
```ts
1488
const upgradeFile = {
1489
  fileType: update.ComponentType.OTA, // OTA包
1490
  filePath: "path" // 本地升级包路径
1491
};
1492 1493
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath").then(() => {
  console.log(`verifyUpgradePackage success`);
1494
}).catch(err => {
1495
  console.log(`verifyUpgradePackage error ${JSON.stringify(err)}`);
1496 1497 1498 1499
});
```

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

1502
安装升级包。使用callback异步回调。
1503 1504

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

1506
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1507 1508 1509

**参数:**

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

1515 1516 1517 1518
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1519
| 错误码ID       | 错误信息                                                  |
1520 1521
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1522

1523 1524
**示例:**

H
HelloCrease 已提交
1525
```ts
1526
const upgradeFiles = [{
1527
  fileType: update.ComponentType.OTA, // OTA包
1528
  filePath: "path" // 本地升级包路径
1529
}];
1530 1531

localUpdater.applyNewVersion(upgradeFiles, (err) => {
1532
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1533 1534 1535 1536 1537
});
```

### applyNewVersion

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

1540
安装升级包。使用Promise异步回调。
1541 1542

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

1544
**需要权限**:ohos.permission.UPDATE_SYSTEM,该权限为系统权限
1545 1546 1547

**返回值:**

H
HelloCrease 已提交
1548 1549
| 类型             | 说明                         |
| -------------- | -------------------------- |
1550
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1551

1552 1553 1554 1555
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1556
| 错误码ID       | 错误信息                                                  |
1557 1558
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1559

1560 1561
**示例:**

H
HelloCrease 已提交
1562
```ts
1563
const upgradeFiles = [{
江海 已提交
1564
  fileType: update.ComponentType.OTA, // OTA包
1565
  filePath: "path" // 本地升级包路径
1566
}];
1567
localUpdater.applyNewVersion(upgradeFiles).then(() => {
1568
  console.log(`applyNewVersion success`);
1569
}).catch(err => {
1570
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1571 1572 1573 1574 1575 1576
});
```

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

1577
注册事件监听。使用callback异步回调。
1578 1579 1580 1581 1582

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

**参数:**

H
HelloCrease 已提交
1583 1584
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
1585 1586
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息。 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调。 |
1587

1588 1589 1590 1591
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1592
| 错误码ID       | 错误信息                                                  |
1593 1594
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1595

1596 1597
**示例:**

H
HelloCrease 已提交
1598
```ts
1599
const eventClassifyInfo = {
1600
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1601
  extraInfo: ""
1602
};
1603

1604
function onTaskUpdate(eventInfo) {
1605
  console.log(`on eventInfo id `, eventInfo.eventId);
1606 1607 1608 1609 1610 1611 1612
}

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

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

1614
取消注册事件监听。使用callback异步回调。
1615 1616 1617 1618 1619

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

**参数:**

H
HelloCrease 已提交
1620 1621
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
1622
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息。 |
1623
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 否    | 事件回调。 |
1624

1625 1626 1627 1628
**错误码**

以下的错误码的详细介绍请参见[升级错误码](../errorcodes/errorcode-update.md)

1629
| 错误码ID       | 错误信息                                                  |
1630 1631
| -------  | ---------------------------------------------------- |
| 11500104 | BusinessError 11500104: IPC error.                   |
1632

1633 1634
**示例:**

H
HelloCrease 已提交
1635
```ts
1636
const eventClassifyInfo = {
1637
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1638
  extraInfo: ""
1639
};
1640

1641
function onTaskUpdate(eventInfo) {
1642
  console.log(`on eventInfo id `, eventInfo.eventId);
1643 1644 1645 1646 1647 1648 1649
}

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

## UpgradeInfo

1650
升级信息。
1651

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

1654
| 名称           | 类型                          | 必填   | 说明     |
H
HelloCrease 已提交
1655
| ------------ | ----------------------------- | ---- | ------ |
1656 1657
| upgradeApp   | string                        | 是    | 调用方包名。  |
| businessType | [BusinessType](#businesstype) | 是    | 升级业务类型。 |
1658 1659 1660 1661 1662

## BusinessType

升级业务类型。

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

1665
| 名称      | 类型                                | 必填   | 说明   |
H
HelloCrease 已提交
1666
| ------- | ----------------------------------- | ---- | ---- |
1667 1668
| vendor  | [BusinessVendor](#businessvendor)   | 是    | 供应商。  |
| subType | [BusinessSubType](#businesssubtype) | 是    | 类型。   |
1669 1670 1671 1672 1673

## CheckResult

搜包结果。

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

1676
| 名称                | 类型                              | 必填   | 说明     |
H
HelloCrease 已提交
1677
| ----------------- | --------------------------------- | ---- | ------ |
1678 1679
| isExistNewVersion | bool                              | 是    | 是否有新版本。 |
| newVersionInfo    | [NewVersionInfo](#newversioninfo) | 否    | 新版本数据。  |
1680 1681 1682 1683 1684

## NewVersionInfo

新版本数据。

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

1687
| 名称                | 类型                                     | 必填   | 说明   |
H
HelloCrease 已提交
1688
| ----------------- | ---------------------------------------- | ---- | ---- |
1689 1690
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要。 |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 是    | 版本组件。 |
1691 1692 1693 1694 1695

## VersionDigestInfo

版本摘要。

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

1698
| 名称            | 类型   | 必填   | 说明   |
H
HelloCrease 已提交
1699
| ------------- | ------ | ---- | ---- |
1700
| versionDigest | string | 是    | 版本摘要。 |
1701 1702 1703

## VersionComponent

1704
版本组件。
1705

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

1708
| 名称              | 类型                                | 必填   | 说明       |
H
HelloCrease 已提交
1709
| --------------- | ----------------------------------- | ---- | -------- |
1710 1711 1712 1713 1714 1715 1716 1717
| componentId     | string                              | 是    | 组件标识。     |
| componentType   | [ComponentType](#componenttype)     | 是    | 组件类型。     |
| upgradeAction   | [UpgradeAction](#upgradeaction)     | 是    | 升级方式。     |
| displayVersion  | string                              | 是    | 显示版本号。    |
| innerVersion    | string                              | 是    | 版本号。      |
| size            | number                              | 是    | 升级包大小。    |
| effectiveMode   | [EffectiveMode](#effectivemode)     | 是    | 生效模式。     |
| descriptionInfo | [DescriptionInfo](#descriptioninfo) | 是    | 版本描述文件信息。 |
1718

1719 1720 1721 1722 1723 1724
## DescriptionOptions

描述文件选项。

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

1725
| 名称       | 类型                                    | 必填   | 说明     |
H
HelloCrease 已提交
1726
| -------- | --------------------------------------- | ---- | ------ |
1727 1728
| format   | [DescriptionFormat](#descriptionformat) | 是    | 描述文件格式。 |
| language | string                                  | 是    | 描述文件语言。 |
1729 1730 1731

## ComponentDescription

1732
组件描述文件。
1733 1734 1735

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

1736
| 名称              | 类型                                | 必填   | 说明     |
H
HelloCrease 已提交
1737
| --------------- | ----------------------------------- | ---- | ------ |
1738 1739
| componentId     | string                              | 是    | 组件标识。   |
| descriptionInfo | [DescriptionInfo](#descriptioninfo) | 是    | 描述文件信息。 |
1740

1741 1742
## DescriptionInfo

1743
版本描述文件信息。
1744

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

1747
| 名称              | 类型                                | 必填   | 说明     |
H
HelloCrease 已提交
1748
| --------------- | ----------------------------------- | ---- | ------ |
1749 1750
| descriptionType | [DescriptionType](#descriptiontype) | 是    | 描述文件类型。 |
| content         | string                              | 是    | 描述文件内容。 |
1751 1752 1753 1754 1755

## CurrentVersionInfo

当前版本信息。

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

1758
| 名称                | 类型                                     | 必填   | 说明    |
H
HelloCrease 已提交
1759
| ----------------- | ---------------------------------------- | ---- | ----- |
1760 1761 1762
| osVersion         | string                                   | 是    | 系统版本号。 |
| deviceName        | string                                   | 是    | 设备名。   |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 否    | 版本组件。  |
1763 1764 1765

## DownloadOptions

1766
下载选项。
1767

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

1770
| 名称           | 类型                | 必填   | 说明   |
H
HelloCrease 已提交
1771
| ------------ | ------------------- | ---- | ---- |
1772 1773
| allowNetwork | [NetType](#nettype) | 是    | 网络类型。 |
| order        | [Order](#order)     | 是    | 升级指令。 |
1774 1775 1776

## ResumeDownloadOptions

1777
恢复下载选项。
1778

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

1781
| 名称           | 类型                | 必填   | 说明   |
H
HelloCrease 已提交
1782
| ------------ | ------------------- | ---- | ---- |
1783
| allowNetwork | [NetType](#nettype) | 是    | 网络类型。 |
1784 1785 1786

## PauseDownloadOptions

1787
暂停下载选项。
1788

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

1791
| 名称                | 类型 | 必填   | 说明       |
H
HelloCrease 已提交
1792
| ----------------- | ---- | ---- | -------- |
1793
| isAllowAutoResume | bool | 是    | 是否允许自动恢复。 |
1794 1795 1796

## UpgradeOptions

1797
升级选项。
1798

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

1801
| 名称    | 类型            | 必填   | 说明   |
H
HelloCrease 已提交
1802
| ----- | --------------- | ---- | ---- |
1803
| order | [Order](#order) | 是    | 升级指令。 |
1804 1805 1806

## ClearOptions

1807
清除异常选项。
1808

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

1811
| 名称     | 类型                            | 必填   | 说明   |
H
HelloCrease 已提交
1812
| ------ | ------------------------------- | ---- | ---- |
1813
| status | [UpgradeStatus](#upgradestatus) | 是    | 异常状态。 |
1814 1815

## UpgradePolicy
Z
zengyawen 已提交
1816 1817 1818

升级策略。

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

1821
| 名称                  | 类型                                    | 必填   | 说明      |
H
HelloCrease 已提交
1822
| ------------------- | --------------------------------------- | ---- | ------- |
1823 1824 1825
| downloadStrategy    | bool                                    | 是    | 自动下载策略。  |
| autoUpgradeStrategy | bool                                    | 是    | 自动升级策略。  |
| autoUpgradePeriods  | Array\<[UpgradePeriod](#upgradeperiod)> | 是    | 自动升级时间段。 |
1826 1827 1828 1829 1830

## UpgradePeriod

升级时间段。

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

1833
| 名称    | 类型   | 必填   | 说明   |
H
HelloCrease 已提交
1834
| ----- | ------ | ---- | ---- |
1835 1836
| start | number | 是    | 开始时间。 |
| end   | number | 是    | 结束时间。 |
1837 1838 1839

## TaskInfo

1840
任务信息。
1841

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

1844
| 名称        | 类型                  | 必填   | 说明     |
H
HelloCrease 已提交
1845
| --------- | --------------------- | ---- | ------ |
1846 1847
| existTask | bool                  | 是    | 是否存在任务。 |
| taskBody  | [TaskBody](#taskinfo) | 是    | 任务数据。   |
1848 1849 1850

## EventInfo

1851
事件信息。
1852

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

1855
| 名称       | 类型                  | 必填   | 说明   |
H
HelloCrease 已提交
1856
| -------- | --------------------- | ---- | ---- |
1857 1858
| eventId  | [EventId](#eventid)   | 是    | 事件ID。 |
| taskBody | [TaskBody](#taskinfo) | 是    | 任务数据。 |
1859 1860 1861

## TaskBody

1862
任务数据。
1863

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

1866
| 名称                | 类型                                     | 必填   | 说明   |
H
HelloCrease 已提交
1867
| ----------------- | ---------------------------------------- | ---- | ---- |
1868 1869 1870 1871 1872 1873 1874
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要。 |
| status            | [UpgradeStatus](#upgradestatus)          | 是    | 升级状态。 |
| subStatus         | number                                   | 否    | 子状态。  |
| progress          | number                                   | 是    | 进度。   |
| installMode       | number                                   | 是    | 安装模式。 |
| errorMessages     | Array\<[ErrorMessage](#errormessage)>    | 否    | 错误信息。 |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 是    | 版本组件。 |
1875 1876 1877

## ErrorMessage

1878
错误信息。
1879

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

1882
| 名称           | 类型   | 必填   | 说明   |
H
HelloCrease 已提交
1883
| ------------ | ------ | ---- | ---- |
1884 1885
| errorCode    | number | 是    | 错误码。  |
| errorMessage | string | 是    | 错误描述。 |
1886

1887 1888 1889 1890
## EventClassifyInfo

事件信息。

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

1893
| 名称            | 类型                            | 必填   | 说明   |
H
HelloCrease 已提交
1894
| ------------- | ------------------------------- | ---- | ---- |
1895 1896
| eventClassify | [EventClassify](#eventclassify) | 是    | 事件类型。 |
| extraInfo     | string                          | 是    | 额外信息。 |
1897

1898 1899 1900 1901
## UpgradeFile

升级文件。

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

1904
| 名称       | 类型                            | 必填   | 说明   |
H
HelloCrease 已提交
1905
| -------- | ------------------------------- | ---- | ---- |
1906 1907
| fileType | [ComponentType](#componenttype) | 是    | 文件类型。 |
| filePath | string                          | 是    | 文件路径。 |
1908 1909 1910

## UpgradeTaskCallback

1911
(eventInfo: EventInfo): void
1912

1913
事件回调。
1914

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

1917
| 名称        | 类型                    | 必填   | 说明   |
H
HelloCrease 已提交
1918
| --------- | ----------------------- | ---- | ---- |
1919
| eventInfo | [EventInfo](#eventinfo) | 是    | 事件信息。 |
Z
zengyawen 已提交
1920

1921 1922 1923 1924
## BusinessVendor

设备厂家。

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

1927
| 名称    | 值      | 说明   |
H
HelloCrease 已提交
1928
| ------ | -------- | ---- |
1929
| PUBLIC | "public" | 开源。   |
1930 1931 1932 1933 1934

## BusinessSubType

升级类型。

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

1937
| 名称      | 值  | 说明   |
H
HelloCrease 已提交
1938
| -------- | ---- | ---- |
1939
| FIRMWARE | 1    | 固件。   |
1940 1941 1942

## ComponentType

1943
组件类型。
1944

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

1947
| 名称  | 值  | 说明   |
H
HelloCrease 已提交
1948
| ---- | ---- | ---- |
1949
| OTA  | 1    | 固件。   |
1950 1951 1952 1953 1954

## UpgradeAction

升级方式。

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

1957
| 名称      | 值        | 说明   |
H
HelloCrease 已提交
1958
| -------- | ---------- | ---- |
1959 1960
| UPGRADE  | "upgrade"  | 差分包。  |
| RECOVERY | "recovery" | 修复包。  |
1961 1962 1963 1964 1965

## EffectiveMode

生效模式。

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

1968
| 名称           | 值  | 说明   |
H
HelloCrease 已提交
1969
| ------------- | ---- | ---- |
1970 1971 1972
| COLD          | 1    | 冷升级。  |
| LIVE          | 2    | 热升级。  |
| LIVE_AND_COLD | 3    | 融合升级。 |
1973 1974 1975 1976 1977

## DescriptionType

描述文件类型。

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

1980
| 名称     | 值  | 说明   |
H
HelloCrease 已提交
1981
| ------- | ---- | ---- |
1982 1983
| CONTENT | 0    | 内容。   |
| URI     | 1    | 链接。   |
1984

1985 1986 1987 1988 1989 1990
## DescriptionFormat

描述文件格式。

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

1991
| 名称        | 值  | 说明   |
H
HelloCrease 已提交
1992
| ---------- | ---- | ---- |
1993 1994
| STANDARD   | 0    | 标准格式。 |
| SIMPLIFIED | 1    | 简易格式。 |
1995

1996 1997 1998 1999
## NetType

网络类型。

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

2002
| 名称               | 值  | 说明        |
H
HelloCrease 已提交
2003
| ----------------- | ---- | --------- |
2004 2005 2006 2007 2008
| CELLULAR          | 1    | 数据网络。      |
| METERED_WIFI      | 2    | 热点WIFI。    |
| NOT_METERED_WIFI  | 4    | 非热点WIFI。   |
| WIFI              | 6    | WIFI。      |
| CELLULAR_AND_WIFI | 7    | 数据网络和WIFI。 |
2009 2010 2011 2012 2013

## Order

升级指令。

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

2016
| 名称                  | 值  | 说明    |
H
HelloCrease 已提交
2017
| -------------------- | ---- | ----- |
2018 2019 2020 2021 2022
| DOWNLOAD             | 1    | 下载。    |
| INSTALL              | 2    | 安装。    |
| DOWNLOAD_AND_INSTALL | 3    | 下载并安装。 |
| APPLY                | 4    | 生效。    |
| INSTALL_AND_APPLY    | 6    | 安装并生效。 |
2023 2024 2025

## UpgradeStatus

2026
升级状态。
2027

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

2030
| 名称              | 值  | 说明   |
H
HelloCrease 已提交
2031
| ---------------- | ---- | ---- |
2032 2033 2034 2035 2036 2037 2038
| WAITING_DOWNLOAD | 20   | 待下载。  |
| DOWNLOADING      | 21   | 下载中。  |
| DOWNLOAD_PAUSED  | 22   | 下载暂停。 |
| DOWNLOAD_FAIL    | 23   | 下载失败。 |
| WAITING_INSTALL  | 30   | 待安装。  |
| UPDATING         | 31   | 更新中。  |
| WAITING_APPLY    | 40   | 待生效。  |
2039
| APPLYING         | 41   | 生效中。  |
2040 2041
| UPGRADE_SUCCESS  | 50   | 升级成功。 |
| UPGRADE_FAIL     | 51   | 升级失败。 |
2042 2043 2044 2045 2046

## EventClassify

事件类型。

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

2049
| 名称   | 值        | 说明   |
H
HelloCrease 已提交
2050
| ---- | ---------- | ---- |
2051
| TASK | 0x01000000 | 任务事件。 |
2052 2053 2054 2055 2056

## EventId

事件ID。

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

2059
| 名称                     | 值        | 说明     |
H
HelloCrease 已提交
2060
| ---------------------- | ---------- | ------ |
2061
| EVENT_TASK_BASE        | EventClassify.TASK | 任务事件。   |
2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077
| 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 | 更新失败。   |