js-apis-update.md 67.2 KB
Newer Older
1
# @ohos.update (升级)
Z
zengyawen 已提交
2

N
ningning 已提交
3
升级范围:升级整个系统,包括内置资源和预置应用,不包括三方应用。
Z
zengyawen 已提交
4

N
ningning 已提交
5
升级类型:SD卡升级、在线升级。
Z
zengyawen 已提交
6 7

- SD卡升级依赖升级包和SD卡安装。
N
ningning 已提交
8

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

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

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

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

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

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

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

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

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

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

**返回值:**

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

**示例:**

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

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

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

N
ningning 已提交
64
获取恢复出厂设置对象。
Z
zengyawen 已提交
65

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

Z
zengyawen 已提交
68 69 70

**返回值:**

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

75

Z
zengyawen 已提交
76 77
**示例:**

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

86
## update.getLocalUpdater
Z
zengyawen 已提交
87

88
getLocalUpdater(): LocalUpdater
Z
zengyawen 已提交
89

90
获取本地升级对象。
Z
zengyawen 已提交
91

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

Z
zengyawen 已提交
94 95
**返回值:**

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

100

Z
zengyawen 已提交
101 102
**示例:**

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

Z
zengyawen 已提交
111 112
## Updater

113 114 115 116
### checkNewVersion

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

117
检查新版本信息。使用callback异步回调。
118 119

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

N
ningning 已提交
121
**需要权限**:ohos.permission.UPDATE_SYSTEM
122 123 124

**参数:**

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

129 130 131 132
**错误码**

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

133
| 错误码ID       | 错误信息                                                  |
134
| -------  | ---------------------------------------------------- |
N
ningning 已提交
135
| 11500104 | IPC error.               |
136

137 138
**示例:**

H
HelloCrease 已提交
139
```ts
N
ningning 已提交
140 141 142
updater.checkNewVersion((err: BusinessError, result: update.CheckResult) => {
      console.log(`checkNewVersion isExistNewVersion  ${result?.isExistNewVersion}`);
    });
143 144 145 146 147 148
```

### checkNewVersion

checkNewVersion(): Promise\<CheckResult>

149
检查新版本信息。使用Promise异步回调。
150 151

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

N
ningning 已提交
153
**需要权限**:ohos.permission.UPDATE_SYSTEM
154 155 156

**返回值:**

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

161 162 163 164
**错误码**

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

165
| 错误码ID       | 错误信息                                                  |
166
| -------  | ---------------------------------------------------- |
N
ningning 已提交
167
| 11500104 | IPC error.               |
168

169 170
**示例:**

H
HelloCrease 已提交
171
```ts
N
ningning 已提交
172 173 174 175 176 177 178 179 180
updater.checkNewVersion()
      .then((result: update.CheckResult) => {
        console.log(`checkNewVersion isExistNewVersion: ${result.isExistNewVersion}`);
        // 版本摘要信息
        console.log(`checkNewVersion versionDigestInfo: ${result.newVersionInfo.versionDigestInfo.versionDigest}`);
      })
      .catch((err: BusinessError)=>{
        console.log(`checkNewVersion promise error ${JSON.stringify(err)}`);
      })
181 182
```

Z
zengyawen 已提交
183 184 185 186
###  getNewVersionInfo

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

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

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

N
ningning 已提交
191
**需要权限**:ohos.permission.UPDATE_SYSTEM
192

Z
zengyawen 已提交
193 194
**参数:**

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

199 200 201 202
**错误码**

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

203
| 错误码ID       | 错误信息                                                  |
204
| -------  | ---------------------------------------------------- |
N
ningning 已提交
205
| 11500104 | IPC error.               |
206

Z
zengyawen 已提交
207 208
**示例:**

H
HelloCrease 已提交
209
```ts
N
ningning 已提交
210 211 212
updater.getNewVersionInfo((err: BusinessError, info: update.NewVersionInfo) => {
      console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
      console.log(`info innerVersion = ${info?.versionComponents[0].innerVersion}`);
Z
zengyawen 已提交
213
});
Z
zengyawen 已提交
214 215 216 217 218 219
```

### getNewVersionInfo

getNewVersionInfo(): Promise\<NewVersionInfo>

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

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

N
ningning 已提交
224
**需要权限**:ohos.permission.UPDATE_SYSTEM
225

Z
zengyawen 已提交
226 227
**返回值:**

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

232 233 234 235
**错误码**

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

236
| 错误码ID       | 错误信息                                                  |
237
| -------  | ---------------------------------------------------- |
N
ningning 已提交
238
| 11500104 | IPC error.               |
239

Z
zengyawen 已提交
240 241
**示例:**

H
HelloCrease 已提交
242
```ts
N
ningning 已提交
243 244 245 246 247
updater.getNewVersionInfo().then((info: update.NewVersionInfo) => {
    console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
    console.log(`info innerVersion = ${info.versionComponents[0].innerVersion}`);
}).catch((err: BusinessError) => {
    console.log(`getNewVersionInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
248
});
Z
zengyawen 已提交
249 250
```

251 252 253 254 255 256 257 258
###  getNewVersionDescription

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

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

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

N
ningning 已提交
259
**需要权限**:ohos.permission.UPDATE_SYSTEM
260 261 262

**参数:**

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

269 270 271 272
**错误码**

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

273
| 错误码ID       | 错误信息                                                  |
274
| -------  | ---------------------------------------------------- |
N
ningning 已提交
275
| 11500104 | IPC error.               |
276

277 278
**示例:**

H
HelloCrease 已提交
279
```ts
280
// 版本摘要信息
N
ningning 已提交
281
const versionDigestInfo: update.VersionDigestInfo = {
282
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
283
};
284 285

// 描述文件选项
N
ningning 已提交
286
const descriptionOptions: update.DescriptionOptions = {
287
  format: update.DescriptionFormat.STANDARD, // 标准格式
288
  language: "zh-cn" // 中文
289
};
290

N
ningning 已提交
291 292 293 294
updater.getNewVersionDescription(versionDigestInfo, descriptionOptions).then((info: Array<update.ComponentDescription>)=> {
  console.log(`getNewVersionDescription promise info ${JSON.stringify(info)}`);
}).catch((err: BusinessError) => {
  console.log(`getNewVersionDescription promise error ${JSON.stringify(err)}`);
295 296 297 298 299 300 301 302 303 304 305
});
```

### getNewVersionDescription

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

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

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

N
ningning 已提交
306
**需要权限**:ohos.permission.UPDATE_SYSTEM
307 308 309

**参数:**

H
HelloCrease 已提交
310 311
| 参数名                | 类型                                       | 必填   | 说明     |
| ------------------ | ---------------------------------------- | ---- | ------ |
312 313
| versionDigestInfo  | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。 |
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项。 |
314 315 316

**返回值:**

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

321 322 323 324
**错误码**

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

325
| 错误码ID       | 错误信息                                                  |
326
| -------  | ---------------------------------------------------- |
N
ningning 已提交
327
| 11500104 | IPC error.               |
328

329 330
**示例:**

H
HelloCrease 已提交
331
```ts
332
// 版本摘要信息
N
ningning 已提交
333
const versionDigestInfo: update.VersionDigestInfo = {
334
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
335
};
336 337

// 描述文件选项
N
ningning 已提交
338
const descriptionOptions: update.DescriptionOptions = {
339
  format: update.DescriptionFormat.STANDARD, // 标准格式
340
  language: "zh-cn" // 中文
341
};
342

N
ningning 已提交
343
updater.getNewVersionDescription(versionDigestInfo, descriptionOptions).then((info: Array<update.ComponentDescription>)=> {
344
  console.log(`getNewVersionDescription promise info ${JSON.stringify(info)}`);
N
ningning 已提交
345
}).catch((err: BusinessError) => {
346 347 348 349
  console.log(`getNewVersionDescription promise error ${JSON.stringify(err)}`);
});
```

350
###  getCurrentVersionInfo
Z
zengyawen 已提交
351

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

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

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

N
ningning 已提交
358
**需要权限**:ohos.permission.UPDATE_SYSTEM
359

Z
zengyawen 已提交
360 361
**参数:**

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

366 367 368 369
**错误码**

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

370
| 错误码ID       | 错误信息                                                  |
371
| -------  | ---------------------------------------------------- |
N
ningning 已提交
372
| 11500104 | IPC error.               |
373

Z
zengyawen 已提交
374 375
**示例:**

H
HelloCrease 已提交
376
```ts
N
ningning 已提交
377
updater.getCurrentVersionInfo((err: BusinessError, info: update.CurrentVersionInfo) => {
378 379 380
  console.log(`info osVersion = ${info?.osVersion}`);
  console.log(`info deviceName = ${info?.deviceName}`);
  console.log(`info displayVersion = ${info?.versionComponents[0].displayVersion}`);
Z
zengyawen 已提交
381
});
Z
zengyawen 已提交
382 383
```

384
### getCurrentVersionInfo
Z
zengyawen 已提交
385

386
getCurrentVersionInfo(): Promise\<CurrentVersionInfo>
Z
zengyawen 已提交
387

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

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

N
ningning 已提交
392
**需要权限**:ohos.permission.UPDATE_SYSTEM
393

394
**返回值:**
Z
zengyawen 已提交
395

H
HelloCrease 已提交
396 397
| 类型                                       | 说明                  |
| ---------------------------------------- | ------------------- |
N
ningning 已提交
398
| Promise\<[CurrentVersionInfo](#currentversioninfo)> | Promise对象,返回当前版本信息对象。 |
Z
zengyawen 已提交
399

400 401 402 403
**错误码**

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

404
| 错误码ID       | 错误信息                                                  |
405
| -------  | ---------------------------------------------------- |
N
ningning 已提交
406
| 11500104 | IPC error.               |
407

408
**示例:**
Z
zengyawen 已提交
409

H
HelloCrease 已提交
410
```ts
N
ningning 已提交
411
updater.getCurrentVersionInfo().then((info: update.CurrentVersionInfo) => {
412 413 414
  console.log(`info osVersion = ${info.osVersion}`);
  console.log(`info deviceName = ${info.deviceName}`);
  console.log(`info displayVersion = ${info.versionComponents[0].displayVersion}`);
N
ningning 已提交
415
}).catch((err: BusinessError) => {
416
  console.log(`getCurrentVersionInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
417
});
Z
zengyawen 已提交
418 419
```

420 421
###  getCurrentVersionDescription

422
getCurrentVersionDescription(descriptionOptions: DescriptionOptions, callback: AsyncCallback\<Array\<ComponentDescription>>): void
423 424 425 426 427

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

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

N
ningning 已提交
428
**需要权限**:ohos.permission.UPDATE_SYSTEM
429 430 431

**参数:**

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

437 438 439 440
**错误码**

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

441
| 错误码ID       | 错误信息                                                  |
442
| -------  | ---------------------------------------------------- |
N
ningning 已提交
443
| 11500104 | IPC error.               |
444

445 446
**示例:**

H
HelloCrease 已提交
447
```ts
448
// 描述文件选项
N
ningning 已提交
449
const descriptionOptions: update.DescriptionOptions = {
450
  format: update.DescriptionFormat.STANDARD, // 标准格式
451
  language: "zh-cn" // 中文
452
};
453 454 455 456 457 458 459 460 461

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

### getCurrentVersionDescription

462
getCurrentVersionDescription(descriptionOptions: DescriptionOptions): Promise\<Array\<ComponentDescription>>
463 464 465 466 467

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

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

N
ningning 已提交
468
**需要权限**:ohos.permission.UPDATE_SYSTEM
469 470 471

**参数:**

H
HelloCrease 已提交
472 473
| 参数名                | 类型                                       | 必填   | 说明     |
| ------------------ | ---------------------------------------- | ---- | ------ |
474
| descriptionOptions | [DescriptionOptions](#descriptionoptions) | 是    | 描述文件选项。 |
475 476 477

**返回值:**

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

482 483 484 485
**错误码**

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

486
| 错误码ID       | 错误信息                                                  |
487
| -------  | ---------------------------------------------------- |
N
ningning 已提交
488
| 11500104 | IPC error.               |
489

490 491
**示例:**

H
HelloCrease 已提交
492
```ts
493
// 描述文件选项
N
ningning 已提交
494
const descriptionOptions: update.DescriptionOptions = {
495
  format: update.DescriptionFormat.STANDARD, // 标准格式
496
  language: "zh-cn" // 中文
497
};
N
ningning 已提交
498
updater.getCurrentVersionDescription(descriptionOptions).then((info: Array<update.ComponentDescription>) => {
499
  console.log(`getCurrentVersionDescription promise info ${JSON.stringify(info)}`);
N
ningning 已提交
500
}).catch((err: BusinessError) => {
501 502 503 504
  console.log(`getCurrentVersionDescription promise error ${JSON.stringify(err)}`);
});
```

505
###  getTaskInfo
Z
zengyawen 已提交
506

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

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

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

N
ningning 已提交
513
**需要权限**:ohos.permission.UPDATE_SYSTEM
514

Z
zengyawen 已提交
515 516
**参数:**

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

521 522 523 524
**错误码**

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

525
| 错误码ID       | 错误信息                                                  |
526
| -------  | ---------------------------------------------------- |
N
ningning 已提交
527
| 11500104 | IPC error.               |
528

Z
zengyawen 已提交
529 530
**示例:**

H
HelloCrease 已提交
531
```ts
N
ningning 已提交
532
updater.getTaskInfo((err: BusinessError, info: update.TaskInfo) => {
533
  console.log(`getTaskInfo isexistTask= ${info?.existTask}`);
Z
zengyawen 已提交
534 535 536
});
```

537
### getTaskInfo
Z
zengyawen 已提交
538

539
getTaskInfo(): Promise\<TaskInfo>
Z
zengyawen 已提交
540

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

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

N
ningning 已提交
545
**需要权限**:ohos.permission.UPDATE_SYSTEM
546

Z
zengyawen 已提交
547 548
**返回值:**

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

553 554 555 556
**错误码**

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

557
| 错误码ID       | 错误信息                                                  |
558
| -------  | ---------------------------------------------------- |
N
ningning 已提交
559
| 11500104 | IPC error.               |
560

Z
zengyawen 已提交
561 562
**示例:**

H
HelloCrease 已提交
563
```ts
N
ningning 已提交
564
updater.getTaskInfo().then((info: update.TaskInfo) => {
565
  console.log(`getTaskInfo isexistTask= ${info.existTask}`);
N
ningning 已提交
566
}).catch((err: BusinessError) => {
567
  console.log(`getTaskInfo promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
568 569 570
});
```

571
###  download
Z
zengyawen 已提交
572

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

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

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

N
ningning 已提交
579
**需要权限**:ohos.permission.UPDATE_SYSTEM
580

Z
zengyawen 已提交
581 582
**参数:**

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

589 590 591 592
**错误码**

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

593
| 错误码ID       | 错误信息                                                  |
594
| -------  | ---------------------------------------------------- |
N
ningning 已提交
595
| 11500104 | IPC error.               |
596

Z
zengyawen 已提交
597 598
**示例:**

H
HelloCrease 已提交
599
```ts
600
// 版本摘要信息
N
ningning 已提交
601
const versionDigestInfo: update.VersionDigestInfo = {
602
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
603
};
604 605

// 下载选项
N
ningning 已提交
606
const downloadOptions: update.DownloadOptions = {
江海 已提交
607
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
608
  order: update.Order.DOWNLOAD // 下载
609
};
N
ningning 已提交
610
updater.download(versionDigestInfo, downloadOptions, (err: BusinessError) => {
611
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
612 613 614
});
```

615
### download
Z
zengyawen 已提交
616

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

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

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

N
ningning 已提交
623
**需要权限**:ohos.permission.UPDATE_SYSTEM
624

625 626
**参数:**

H
HelloCrease 已提交
627 628
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
629 630
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息。 |
| downloadOptions   | [DownloadOptions](#downloadoptions)     | 是    | 下载选项。   |
631

Z
zengyawen 已提交
632 633
**返回值:**

H
HelloCrease 已提交
634 635
| 类型             | 说明                         |
| -------------- | -------------------------- |
636
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
637

638 639 640 641
**错误码**

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

642
| 错误码ID       | 错误信息                                                  |
643
| -------  | ---------------------------------------------------- |
N
ningning 已提交
644
| 11500104 | IPC error.               |
645

Z
zengyawen 已提交
646 647
**示例:**

H
HelloCrease 已提交
648
```ts
649
// 版本摘要信息
N
ningning 已提交
650
const versionDigestInfo: update.VersionDigestInfo = {
651
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
652
};
653 654

// 下载选项
N
ningning 已提交
655
const downloadOptions: update.DownloadOptions = {
江海 已提交
656
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
N
ningning 已提交
657
   order: update.Order.DOWNLOAD // 下载
658
};
659
updater.download(versionDigestInfo, downloadOptions).then(() => {
660
  console.log(`download start`);
N
ningning 已提交
661
}).catch((err: BusinessError) => {
662
  console.log(`download error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
663 664 665
});
```

666
###  resumeDownload
Z
zengyawen 已提交
667

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

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

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

N
ningning 已提交
674
**需要权限**:ohos.permission.UPDATE_SYSTEM
675

Z
zengyawen 已提交
676 677
**参数:**

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

684 685 686 687
**错误码**

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

688
| 错误码ID       | 错误信息                                                  |
689
| -------  | ---------------------------------------------------- |
N
ningning 已提交
690
| 11500104 | IPC error.               |
691

Z
zengyawen 已提交
692 693
**示例:**

H
HelloCrease 已提交
694
```ts
695
// 版本摘要信息
N
ningning 已提交
696
const versionDigestInfo : update.VersionDigestInfo= {
697
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
698
};
699 700

// 恢复下载选项
N
ningning 已提交
701
const resumeDownloadOptions : update.ResumeDownloadOptions= {
江海 已提交
702
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
703
};
N
ningning 已提交
704
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions, (err: BusinessError) => {
705
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
706 707 708
});
```

709 710 711 712
### resumeDownload

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

713
恢复下载新版本。使用Promise异步回调。
714 715

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

N
ningning 已提交
717
**需要权限**:ohos.permission.UPDATE_SYSTEM
718 719 720

**参数:**

H
HelloCrease 已提交
721 722
| 参数名                   | 类型                                       | 必填   | 说明     |
| --------------------- | ---------------------------------------- | ---- | ------ |
723 724
| versionDigestInfo     | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。 |
| resumeDownloadOptions | [ResumeDownloadOptions](#resumedownloadoptions) | 是    | 恢复下载选项。 |
725 726 727

**返回值:**

H
HelloCrease 已提交
728 729
| 类型             | 说明                         |
| -------------- | -------------------------- |
730
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
731

732 733 734 735
**错误码**

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

736
| 错误码ID       | 错误信息                                                  |
737
| -------  | ---------------------------------------------------- |
N
ningning 已提交
738
| 11500104 | IPC error.               |
739

740 741
**示例:**

H
HelloCrease 已提交
742
```ts
743
// 版本摘要信息
N
ningning 已提交
744
const versionDigestInfo: update.VersionDigestInfo = {
745
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
746
};
747 748

// 恢复下载选项
N
ningning 已提交
749
const resumeDownloadOptions: update.ResumeDownloadOptions = {
江海 已提交
750
  allowNetwork: update.NetType.CELLULAR, // 允许数据网络下载
751
};
N
ningning 已提交
752
updater.resumeDownload(versionDigestInfo, resumeDownloadOptions).then(() => {
753
  console.log(`resumeDownload start`);
N
ningning 已提交
754
}).catch((err: BusinessError) => {
755
  console.log(`resumeDownload error ${JSON.stringify(err)}`);
756 757 758 759 760 761 762
});
```

###  pauseDownload

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

763
暂停下载新版本。使用callback异步回调。
764 765

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

N
ningning 已提交
767
**需要权限**:ohos.permission.UPDATE_SYSTEM
768 769 770

**参数:**

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

777 778 779 780
**错误码**

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

781
| 错误码ID       | 错误信息                                                  |
782
| -------  | ---------------------------------------------------- |
N
ningning 已提交
783
| 11500104 | IPC error.               |
784

785 786
**示例:**

H
HelloCrease 已提交
787
```ts
788
// 版本摘要信息
N
ningning 已提交
789
const versionDigestInfo: update.VersionDigestInfo = {
790
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
791
};
792 793

// 暂停下载选项
N
ningning 已提交
794
const pauseDownloadOptions: update.PauseDownloadOptions = {
795
  isAllowAutoResume: true // 允许自动恢复下载
796
};
N
ningning 已提交
797
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions, (err: BusinessError) => {
798
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
799 800 801 802 803 804 805
});
```

### pauseDownload

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

806
恢复下载新版本。使用Promise异步回调。
807 808

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

N
ningning 已提交
810
**需要权限**:ohos.permission.UPDATE_SYSTEM
811 812 813

**参数:**

H
HelloCrease 已提交
814 815
| 参数名                  | 类型                                       | 必填   | 说明     |
| -------------------- | ---------------------------------------- | ---- | ------ |
816 817
| versionDigestInfo    | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要信息。 |
| pauseDownloadOptions | [PauseDownloadOptions](#pausedownloadoptions) | 是    | 暂停下载选项。 |
818 819 820

**返回值:**

H
HelloCrease 已提交
821 822
| 类型             | 说明                         |
| -------------- | -------------------------- |
823
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
824

825 826 827 828
**错误码**

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

829
| 错误码ID       | 错误信息                                                  |
830
| -------  | ---------------------------------------------------- |
N
ningning 已提交
831
| 11500104 | IPC error.               |
832

833 834
**示例:**

H
HelloCrease 已提交
835
```ts
836
// 版本摘要信息
N
ningning 已提交
837
const versionDigestInfo: update.VersionDigestInfo = {
838
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
839
};
840 841

// 暂停下载选项
N
ningning 已提交
842
const pauseDownloadOptions: update.PauseDownloadOptions = {
843
  isAllowAutoResume: true // 允许自动恢复下载
844
};
N
ningning 已提交
845
updater.pauseDownload(versionDigestInfo, pauseDownloadOptions).then(() => {
846
  console.log(`pauseDownload`);
N
ningning 已提交
847
}).catch((err: BusinessError)  => {
848
  console.log(`pauseDownload error ${JSON.stringify(err)}`);
849 850
});
```
Z
zengyawen 已提交
851

852
###  upgrade
Z
zengyawen 已提交
853

854 855
upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions, callback: AsyncCallback\<void>): void

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

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

N
ningning 已提交
860
**需要权限**:ohos.permission.UPDATE_SYSTEM
861

862 863
**参数:**

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

870 871 872 873
**错误码**

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

874
| 错误码ID       | 错误信息                                                  |
875
| -------  | ---------------------------------------------------- |
N
ningning 已提交
876
| 11500104 | IPC error.               |
877

Z
zengyawen 已提交
878 879
**示例:**

H
HelloCrease 已提交
880
```ts
881
// 版本摘要信息
N
ningning 已提交
882
const versionDigestInfo: update.VersionDigestInfo = {
883
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
884
};
885 886

// 安装选项
N
ningning 已提交
887
const upgradeOptions: update.UpgradeOptions = {
888
  order: update.Order.INSTALL // 安装指令
889
};
N
ningning 已提交
890
updater.upgrade(versionDigestInfo, upgradeOptions, (err: BusinessError) => {
891
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
892
});
Z
zengyawen 已提交
893 894 895 896
```

### upgrade

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

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

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

N
ningning 已提交
903
**需要权限**:ohos.permission.UPDATE_SYSTEM
904

905 906
**参数:**

H
HelloCrease 已提交
907 908
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
909 910
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息。 |
| upgradeOptions    | [UpgradeOptions](#upgradeoptions)       | 是    | 更新选项。   |
911 912 913

**返回值:**

H
HelloCrease 已提交
914 915
| 类型             | 说明                         |
| -------------- | -------------------------- |
916
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
917

918 919 920 921
**错误码**

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

922
| 错误码ID       | 错误信息                                                  |
923
| -------  | ---------------------------------------------------- |
N
ningning 已提交
924
| 11500104 | IPC error.               |
925

Z
zengyawen 已提交
926 927
**示例:**

H
HelloCrease 已提交
928
```ts
929
// 版本摘要信息
N
ningning 已提交
930
const versionDigestInfo: update.VersionDigestInfo = {
931
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
932
};
933 934

// 安装选项
N
ningning 已提交
935
const upgradeOptions: update.UpgradeOptions = {
936
  order: update.Order.INSTALL // 安装指令
937
};
938
updater.upgrade(versionDigestInfo, upgradeOptions).then(() => {
939
  console.log(`upgrade start`);
N
ningning 已提交
940
}).catch((err: BusinessError) => {
941
  console.log(`upgrade error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
942
});
Z
zengyawen 已提交
943 944
```

945
###  clearError
Z
zengyawen 已提交
946

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

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

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

N
ningning 已提交
953
**需要权限**:ohos.permission.UPDATE_SYSTEM
954

Z
zengyawen 已提交
955 956
**参数:**

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

963 964 965 966
**错误码**

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

967
| 错误码ID       | 错误信息                                                  |
968
| -------  | ---------------------------------------------------- |
N
ningning 已提交
969
| 11500104 | IPC error.               |
970

Z
zengyawen 已提交
971 972
**示例:**

H
HelloCrease 已提交
973
```ts
974
// 版本摘要信息
N
ningning 已提交
975
const versionDigestInfo: update.VersionDigestInfo = {
976
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
977
};
978 979

// 清除选项
N
ningning 已提交
980
const clearOptions: update.ClearOptions = {
981
  status: update.UpgradeStatus.UPGRADE_FAIL,
982
};
N
ningning 已提交
983
updater.clearError(versionDigestInfo, clearOptions, (err: BusinessError) => {
984
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
985
});
Z
zengyawen 已提交
986 987
```

988
### clearError
Z
zengyawen 已提交
989

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

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

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

N
ningning 已提交
996
**需要权限**:ohos.permission.UPDATE_SYSTEM
997

Z
zengyawen 已提交
998 999
**参数:**

H
HelloCrease 已提交
1000 1001
| 参数名               | 类型                                      | 必填   | 说明     |
| ----------------- | --------------------------------------- | ---- | ------ |
1002 1003
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo) | 是    | 版本摘要信息。 |
| clearOptions      | [ClearOptions](#clearoptions)           | 是    | 更新选项。   |
Z
zengyawen 已提交
1004 1005 1006

**返回值:**

H
HelloCrease 已提交
1007 1008
| 类型             | 说明                         |
| -------------- | -------------------------- |
1009
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
Z
zengyawen 已提交
1010

1011 1012 1013 1014
**错误码**

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

1015
| 错误码ID       | 错误信息                                                  |
1016
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1017
| 11500104 | IPC error.               |
1018

Z
zengyawen 已提交
1019 1020
**示例:**

H
HelloCrease 已提交
1021
```ts
1022
// 版本摘要信息
N
ningning 已提交
1023
const versionDigestInfo: update.VersionDigestInfo = {
1024
  versionDigest: "versionDigest" // 检测结果中的版本摘要信息
1025
};
1026 1027

// 清除选项
N
ningning 已提交
1028
const clearOptions: update.ClearOptions = {
1029
  status: update.UpgradeStatus.UPGRADE_FAIL,
1030
};
1031
updater.clearError(versionDigestInfo, clearOptions).then(() => {
1032
  console.log(`clearError success`);
N
ningning 已提交
1033
}).catch((err: BusinessError) => {
1034
  console.log(`clearError error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
1035
});
Z
zengyawen 已提交
1036 1037
```

1038
### getUpgradePolicy
Z
zengyawen 已提交
1039

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

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

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

N
ningning 已提交
1046
**需要权限**:ohos.permission.UPDATE_SYSTEM
1047

Z
zengyawen 已提交
1048 1049
**参数:**

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

1054 1055 1056 1057
**错误码**

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

1058
| 错误码ID       | 错误信息                                                  |
1059
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1060
| 11500104 | IPC error.               |
1061

Z
zengyawen 已提交
1062 1063
**示例:**

H
HelloCrease 已提交
1064
```ts
N
ningning 已提交
1065
updater.getUpgradePolicy(err: BusinessError, policy: update.UpgradePolicy) => {
1066 1067
  console.log(`policy downloadStrategy = ${policy?.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy?.autoUpgradeStrategy}`);
Z
zengyawen 已提交
1068
});
Z
zengyawen 已提交
1069 1070
```

1071
### getUpgradePolicy
Z
zengyawen 已提交
1072

1073
getUpgradePolicy(): Promise\<UpgradePolicy>
Z
zengyawen 已提交
1074 1075 1076

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

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

N
ningning 已提交
1079
**需要权限**:ohos.permission.UPDATE_SYSTEM
1080

Z
zengyawen 已提交
1081 1082
**返回值:**

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

1087 1088 1089 1090
**错误码**

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

1091
| 错误码ID       | 错误信息                                                  |
1092
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1093
| 11500104 | IPC error.               |
1094

Z
zengyawen 已提交
1095 1096
**示例:**

H
HelloCrease 已提交
1097
```ts
N
ningning 已提交
1098
updater.getUpgradePolicy().then((policy: update.UpgradePolicy) => {
1099 1100
  console.log(`policy downloadStrategy = ${policy.downloadStrategy}`);
  console.log(`policy autoUpgradeStrategy = ${policy.autoUpgradeStrategy}`);
N
ningning 已提交
1101
}).catch((err: BusinessError)  => {
1102
  console.log(`getUpgradePolicy promise error ${JSON.stringify(err)}`);
Z
zengyawen 已提交
1103
});
Z
zengyawen 已提交
1104 1105
```

1106
### setUpgradePolicy
Z
zengyawen 已提交
1107

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

1110
设置升级策略。使用callback异步回调。
1111

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

N
ningning 已提交
1114
**需要权限**:ohos.permission.UPDATE_SYSTEM
Z
zengyawen 已提交
1115

1116
**参数:**
Z
zengyawen 已提交
1117

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

1123 1124 1125 1126
**错误码**

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

1127
| 错误码ID       | 错误信息                                                  |
1128
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1129
| 11500104 | IPC error.               |
1130

1131
**示例:**
1132

H
HelloCrease 已提交
1133
```ts
N
ningning 已提交
1134
const policy: update.UpgradePolicy = {
1135 1136
  downloadStrategy: false,
  autoUpgradeStrategy: false,
N
ningning 已提交
1137
  autoUpgradePeriods: [{ start: 120, end: 240 }] // 自动升级时间段,用分钟表示
1138
};
N
ningning 已提交
1139
updater.setUpgradePolicy(policy, (err: BusinessError) => {
1140
  console.log(`setUpgradePolicy result: ${err}`);
1141 1142
});
```
Z
zengyawen 已提交
1143

1144
### setUpgradePolicy
Z
zengyawen 已提交
1145

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

1148
设置升级策略。使用Promise异步回调。
1149

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

N
ningning 已提交
1152
**需要权限**:ohos.permission.UPDATE_SYSTEM
Z
zengyawen 已提交
1153

1154
**参数:**
Z
zengyawen 已提交
1155

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

1160
**返回值:**
1161

H
HelloCrease 已提交
1162 1163
| 类型             | 说明                  |
| -------------- | ------------------- |
N
ningning 已提交
1164
| Promise\<void> | Promise对象。 无返回结果的Promise对象。|
1165

1166 1167 1168 1169
**错误码**

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

1170
| 错误码ID       | 错误信息                                                  |
1171
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1172
| 11500104 | IPC error.               |
1173

1174 1175
**示例:**

H
HelloCrease 已提交
1176
```ts
N
ningning 已提交
1177
const policy: update.UpgradePolicy = {
1178 1179
  downloadStrategy: false,
  autoUpgradeStrategy: false,
江海 已提交
1180
  autoUpgradePeriods: [ { start: 120, end: 240 } ] // 自动升级时间段,用分钟表示
1181
};
1182 1183
updater.setUpgradePolicy(policy).then(() => {
  console.log(`setUpgradePolicy success`);
N
ningning 已提交
1184
}).catch((err: BusinessError) => {
1185
  console.log(`setUpgradePolicy promise error ${JSON.stringify(err)}`);
1186 1187 1188 1189 1190 1191 1192
});
```

###  terminateUpgrade

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

1193
终止升级。使用callback异步回调。
1194 1195

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

N
ningning 已提交
1197
**需要权限**:ohos.permission.UPDATE_SYSTEM
1198 1199 1200

**参数:**

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

1205 1206 1207 1208
**错误码**

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

1209
| 错误码ID       | 错误信息                                                  |
1210
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1211
| 11500104 | IPC error.               |
1212

1213 1214
**示例:**

H
HelloCrease 已提交
1215
```ts
N
ningning 已提交
1216
updater.terminateUpgrade((err: BusinessError) => {
1217
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
1218 1219 1220 1221 1222 1223 1224
});
```

### terminateUpgrade

terminateUpgrade(): Promise\<void>

1225
终止升级。使用Promise异步回调。
1226 1227 1228

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

N
ningning 已提交
1229
**需要权限**:ohos.permission.UPDATE_SYSTEM
1230

1231 1232
**返回值:**

H
HelloCrease 已提交
1233 1234
| 类型             | 说明                         |
| -------------- | -------------------------- |
1235
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1236

1237 1238 1239 1240
**错误码**

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

1241
| 错误码ID       | 错误信息                                                  |
1242
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1243
| 11500104 | IPC error.               |
1244

1245 1246
**示例:**

H
HelloCrease 已提交
1247
```ts
1248
updater.terminateUpgrade().then(() => {
1249
  console.log(`terminateUpgrade success`);
N
ningning 已提交
1250
}).catch((err: BusinessError) => {
1251
  console.log(`terminateUpgrade error ${JSON.stringify(err)}`);
1252 1253 1254
});
```

1255 1256 1257 1258

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

1259
注册事件监听。使用callback异步回调。
1260 1261 1262 1263 1264

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

**参数:**

H
HelloCrease 已提交
1265 1266
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
1267 1268
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息。 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调。 |
1269

1270

1271 1272
**示例:**

H
HelloCrease 已提交
1273
```ts
N
ningning 已提交
1274
const eventClassifyInfo: update.EventClassifyInfo = {
1275
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1276
  extraInfo: ""
1277
};
1278

N
ningning 已提交
1279
updater.on(eventClassifyInfo, (eventInfo: update.EventInfo) => {
1280 1281
  console.log("updater on " + JSON.stringify(eventInfo));
});
1282 1283 1284 1285 1286
```

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

1287
取消注册事件监听。使用callback异步回调。
1288 1289 1290 1291 1292

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

**参数:**

H
HelloCrease 已提交
1293 1294
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
1295 1296
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息。 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 否    | 事件回调。 |
1297

1298

1299 1300
**示例:**

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

N
ningning 已提交
1307
updater.off(eventClassifyInfo, (eventInfo: update.EventInfo) => {
1308 1309
  console.log("updater off " + JSON.stringify(eventInfo));
});
1310 1311
```

1312
## Restorer
1313 1314 1315 1316 1317

### factoryReset

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

1318
恢复出厂设置。使用callback异步回调。
1319 1320

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

N
ningning 已提交
1322
**需要权限**:ohos.permission.FACTORY_RESET
1323 1324 1325

**参数:**

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

1330 1331 1332 1333
**错误码**

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

1334
| 错误码ID       | 错误信息                                                  |
1335
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1336
| 11500104 | IPC error.               |
1337

1338 1339
**示例:**

H
HelloCrease 已提交
1340
```ts
1341
restorer.factoryReset((err) => {
1342
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1343 1344 1345 1346 1347 1348 1349
});
```

### factoryReset

factoryReset(): Promise\<void>

1350
恢复出厂设置。使用Promise异步回调。
1351 1352

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

N
ningning 已提交
1354
**需要权限**:ohos.permission.FACTORY_RESET
1355 1356 1357

**返回值:**

H
HelloCrease 已提交
1358 1359
| 类型             | 说明                         |
| -------------- | -------------------------- |
1360
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1361

1362 1363 1364 1365
**错误码**

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

1366
| 错误码ID       | 错误信息                                                  |
1367
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1368
| 11500104 | IPC error.               |
1369

1370 1371
**示例:**

H
HelloCrease 已提交
1372
```ts
1373
restorer.factoryReset().then(() => {
1374
  console.log(`factoryReset success`);
N
ningning 已提交
1375
}).catch((err: BusinessError) => {
1376
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1377 1378 1379 1380 1381 1382 1383
});
```

## LocalUpdater

### verifyUpgradePackage

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

1386
校验升级包。使用callback异步回调。
1387 1388

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

N
ningning 已提交
1390
**需要权限**:ohos.permission.UPDATE_SYSTEM
1391 1392 1393

**参数:**

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

1400 1401 1402 1403
**错误码**

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

1404
| 错误码ID       | 错误信息                                                  |
1405
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1406
| 11500104 | IPC error.               |
1407

1408 1409
**示例:**

H
HelloCrease 已提交
1410
```ts
N
ningning 已提交
1411
const upgradeFile: update.UpgradeFile = {
1412
  fileType: update.ComponentType.OTA, // OTA包
1413
  filePath: "path" // 本地升级包路径
1414
};
1415

1416
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath", (err) => {
1417
  console.log(`factoryReset error ${JSON.stringify(err)}`);
1418 1419 1420 1421 1422
});
```

### verifyUpgradePackage

1423
verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise\<void>
1424

1425
校验升级包。使用Promise异步回调。
1426 1427

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

N
ningning 已提交
1429
**需要权限**:ohos.permission.UPDATE_SYSTEM
1430

1431 1432
**参数:**

H
HelloCrease 已提交
1433 1434
| 参数名         | 类型                          | 必填   | 说明     |
| ----------- | --------------------------- | ---- | ------ |
1435 1436
| upgradeFile | [UpgradeFile](#upgradefile) | 是    | 升级文件。   |
| certsFile   | string                      | 是    | 证书文件路径。 |
1437

1438 1439
**返回值:**

H
HelloCrease 已提交
1440 1441
| 类型             | 说明                     |
| -------------- | ---------------------- |
1442
| Promise\<void> | Promise对象,返回升级包校验结果对象。 |
1443

1444 1445 1446 1447
**错误码**

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

1448
| 错误码ID       | 错误信息                                                  |
1449
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1450
| 11500104 | IPC error.               |
1451

1452 1453
**示例:**

H
HelloCrease 已提交
1454
```ts
N
ningning 已提交
1455
const upgradeFile: update.UpgradeFile = {
1456
  fileType: update.ComponentType.OTA, // OTA包
1457
  filePath: "path" // 本地升级包路径
1458
};
1459 1460
localUpdater.verifyUpgradePackage(upgradeFile, "cerstFilePath").then(() => {
  console.log(`verifyUpgradePackage success`);
N
ningning 已提交
1461
}).catch((err: BusinessError) => {
1462
  console.log(`verifyUpgradePackage error ${JSON.stringify(err)}`);
1463 1464 1465 1466
});
```

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

1469
安装升级包。使用callback异步回调。
1470 1471

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

N
ningning 已提交
1473
**需要权限**:ohos.permission.UPDATE_SYSTEM
1474 1475 1476

**参数:**

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

1482 1483 1484 1485
**错误码**

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

1486
| 错误码ID       | 错误信息                                                  |
1487
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1488
| 11500104 | IPC error.               |
1489

1490 1491
**示例:**

H
HelloCrease 已提交
1492
```ts
N
ningning 已提交
1493
const upgradeFiles: Array<update.UpgradeFile> = [{
1494
  fileType: update.ComponentType.OTA, // OTA包
1495
  filePath: "path" // 本地升级包路径
1496
}];
1497 1498

localUpdater.applyNewVersion(upgradeFiles, (err) => {
1499
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1500 1501 1502 1503 1504
});
```

### applyNewVersion

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

1507
安装升级包。使用Promise异步回调。
1508 1509

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

N
ningning 已提交
1511
**需要权限**:ohos.permission.UPDATE_SYSTEM
1512 1513 1514

**返回值:**

H
HelloCrease 已提交
1515 1516
| 类型             | 说明                         |
| -------------- | -------------------------- |
1517
| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1518

1519 1520 1521 1522
**错误码**

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

1523
| 错误码ID       | 错误信息                                                  |
1524
| -------  | ---------------------------------------------------- |
N
ningning 已提交
1525
| 11500104 | IPC error.               |
1526

1527 1528
**示例:**

H
HelloCrease 已提交
1529
```ts
N
ningning 已提交
1530
const upgradeFiles: Array<update.UpgradeFile> = [{
江海 已提交
1531
  fileType: update.ComponentType.OTA, // OTA包
1532
  filePath: "path" // 本地升级包路径
1533
}];
1534
localUpdater.applyNewVersion(upgradeFiles).then(() => {
1535
  console.log(`applyNewVersion success`);
N
ningning 已提交
1536
}).catch((err: BusinessError) => {
1537
  console.log(`applyNewVersion error ${JSON.stringify(err)}`);
1538 1539 1540 1541 1542 1543
});
```

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

1544
注册事件监听。使用callback异步回调。
1545 1546 1547 1548 1549

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

**参数:**

H
HelloCrease 已提交
1550 1551
| 参数名               | 类型                                       | 必填   | 说明   |
| ----------------- | ---------------------------------------- | ---- | ---- |
1552 1553
| eventClassifyInfo | [EventClassifyInfo](#eventclassifyinfo)  | 是    | 事件信息。 |
| taskCallback      | [UpgradeTaskCallback](#upgradetaskcallback) | 是    | 事件回调。 |
1554

1555

1556 1557
**示例:**

H
HelloCrease 已提交
1558
```ts
N
ningning 已提交
1559
const eventClassifyInfo: update.EventClassifyInfo = {
1560
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1561
  extraInfo: ""
1562
};
1563

N
ningning 已提交
1564
let onTaskUpdate: update.UpgradeTaskCallback = (eventInfo: update.EventInfo) => {
1565
  console.log(`on eventInfo id `, eventInfo.eventId);
N
ningning 已提交
1566
};
1567 1568 1569 1570 1571 1572

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

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

1574
取消注册事件监听。使用callback异步回调。
1575 1576 1577 1578 1579

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

**参数:**

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

1585

1586 1587
**示例:**

H
HelloCrease 已提交
1588
```ts
N
ningning 已提交
1589
const eventClassifyInfo: update.EventClassifyInfo = {
1590
  eventClassify: update.EventClassify.TASK, // 订阅升级更新事件
1591
  extraInfo: ""
1592
};
1593

N
ningning 已提交
1594
let onTaskUpdate: update.UpgradeTaskCallback = (eventInfo: update.EventInfo) => {
1595
  console.log(`on eventInfo id `, eventInfo.eventId);
N
ningning 已提交
1596
};
1597 1598 1599 1600 1601 1602

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

## UpgradeInfo

1603
升级信息。
1604

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

1607
| 名称           | 类型                          | 必填   | 说明     |
H
HelloCrease 已提交
1608
| ------------ | ----------------------------- | ---- | ------ |
1609 1610
| upgradeApp   | string                        | 是    | 调用方包名。  |
| businessType | [BusinessType](#businesstype) | 是    | 升级业务类型。 |
1611 1612 1613 1614 1615

## BusinessType

升级业务类型。

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

1618
| 名称      | 类型                                | 必填   | 说明   |
H
HelloCrease 已提交
1619
| ------- | ----------------------------------- | ---- | ---- |
N
ningning 已提交
1620 1621
| vendor  | [BusinessVendor](#businessvendor)   | 是    | 供应商/厂家。  |
| subType | [BusinessSubType](#businesssubtype) | 是    | 升级类型。  |
1622 1623 1624 1625 1626

## CheckResult

搜包结果。

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

1629
| 名称                | 类型                              | 必填   | 说明     |
H
HelloCrease 已提交
1630
| ----------------- | --------------------------------- | ---- | ------ |
N
ningning 已提交
1631
| isExistNewVersion | boolean                              | 是    | 是否有新版本。<br>ture表示有新版本,false表示没有新版本。|
1632
| newVersionInfo    | [NewVersionInfo](#newversioninfo) | 否    | 新版本数据。  |
1633 1634 1635 1636 1637

## NewVersionInfo

新版本数据。

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

1640
| 名称                | 类型                                     | 必填   | 说明   |
H
HelloCrease 已提交
1641
| ----------------- | ---------------------------------------- | ---- | ---- |
1642 1643
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要。 |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 是    | 版本组件。 |
1644 1645 1646 1647 1648

## VersionDigestInfo

版本摘要。

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

1651
| 名称            | 类型   | 必填   | 说明   |
H
HelloCrease 已提交
1652
| ------------- | ------ | ---- | ---- |
1653
| versionDigest | string | 是    | 版本摘要。 |
1654 1655 1656

## VersionComponent

1657
版本组件。
1658

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

1661
| 名称              | 类型                                | 必填   | 说明       |
H
HelloCrease 已提交
1662
| --------------- | ----------------------------------- | ---- | -------- |
1663 1664 1665 1666 1667
| componentId     | string                              | 是    | 组件标识。     |
| componentType   | [ComponentType](#componenttype)     | 是    | 组件类型。     |
| upgradeAction   | [UpgradeAction](#upgradeaction)     | 是    | 升级方式。     |
| displayVersion  | string                              | 是    | 显示版本号。    |
| innerVersion    | string                              | 是    | 版本号。      |
N
ningning 已提交
1668
| size            | number                              | 是    | 升级包大小,单位为B。    |
1669 1670
| effectiveMode   | [EffectiveMode](#effectivemode)     | 是    | 生效模式。     |
| descriptionInfo | [DescriptionInfo](#descriptioninfo) | 是    | 版本描述文件信息。 |
1671

1672 1673 1674 1675 1676 1677
## DescriptionOptions

描述文件选项。

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

1678
| 名称       | 类型                                    | 必填   | 说明     |
H
HelloCrease 已提交
1679
| -------- | --------------------------------------- | ---- | ------ |
1680 1681
| format   | [DescriptionFormat](#descriptionformat) | 是    | 描述文件格式。 |
| language | string                                  | 是    | 描述文件语言。 |
1682 1683 1684

## ComponentDescription

1685
组件描述文件。
1686 1687 1688

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

1689
| 名称              | 类型                                | 必填   | 说明     |
H
HelloCrease 已提交
1690
| --------------- | ----------------------------------- | ---- | ------ |
1691 1692
| componentId     | string                              | 是    | 组件标识。   |
| descriptionInfo | [DescriptionInfo](#descriptioninfo) | 是    | 描述文件信息。 |
1693

1694 1695
## DescriptionInfo

1696
版本描述文件信息。
1697

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

1700
| 名称              | 类型                                | 必填   | 说明     |
H
HelloCrease 已提交
1701
| --------------- | ----------------------------------- | ---- | ------ |
1702 1703
| descriptionType | [DescriptionType](#descriptiontype) | 是    | 描述文件类型。 |
| content         | string                              | 是    | 描述文件内容。 |
1704 1705 1706 1707 1708

## CurrentVersionInfo

当前版本信息。

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

1711
| 名称                | 类型                                     | 必填   | 说明    |
H
HelloCrease 已提交
1712
| ----------------- | ---------------------------------------- | ---- | ----- |
1713 1714 1715
| osVersion         | string                                   | 是    | 系统版本号。 |
| deviceName        | string                                   | 是    | 设备名。   |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 否    | 版本组件。  |
1716 1717 1718

## DownloadOptions

1719
下载选项。
1720

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

1723
| 名称           | 类型                | 必填   | 说明   |
H
HelloCrease 已提交
1724
| ------------ | ------------------- | ---- | ---- |
1725 1726
| allowNetwork | [NetType](#nettype) | 是    | 网络类型。 |
| order        | [Order](#order)     | 是    | 升级指令。 |
1727 1728 1729

## ResumeDownloadOptions

1730
恢复下载选项。
1731

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

1734
| 名称           | 类型                | 必填   | 说明   |
H
HelloCrease 已提交
1735
| ------------ | ------------------- | ---- | ---- |
1736
| allowNetwork | [NetType](#nettype) | 是    | 网络类型。 |
1737 1738 1739

## PauseDownloadOptions

1740
暂停下载选项。
1741

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

1744
| 名称                | 类型 | 必填   | 说明       |
H
HelloCrease 已提交
1745
| ----------------- | ---- | ---- | -------- |
N
ningning 已提交
1746
| isAllowAutoResume | boolean | 是    | 是否允许自动恢复。<br>ture表示允许自动恢复,false表示不允许。 |
1747 1748 1749

## UpgradeOptions

1750
升级选项。
1751

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

1754
| 名称    | 类型            | 必填   | 说明   |
H
HelloCrease 已提交
1755
| ----- | --------------- | ---- | ---- |
1756
| order | [Order](#order) | 是    | 升级指令。 |
1757 1758 1759

## ClearOptions

1760
清除异常选项。
1761

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

1764
| 名称     | 类型                            | 必填   | 说明   |
H
HelloCrease 已提交
1765
| ------ | ------------------------------- | ---- | ---- |
1766
| status | [UpgradeStatus](#upgradestatus) | 是    | 异常状态。 |
1767 1768

## UpgradePolicy
Z
zengyawen 已提交
1769 1770 1771

升级策略。

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

1774
| 名称                  | 类型                                    | 必填   | 说明      |
H
HelloCrease 已提交
1775
| ------------------- | --------------------------------------- | ---- | ------- |
N
ningning 已提交
1776 1777
| downloadStrategy    | boolean                        | 是    | 自动下载策略。 <br>ture表示可自动下载,false表示不可自动下载。 |
| autoUpgradeStrategy | boolean                        | 是    | 自动升级策略。 <br>ture表示可自动升级,false表示不可自动升级。 |
1778
| autoUpgradePeriods  | Array\<[UpgradePeriod](#upgradeperiod)> | 是    | 自动升级时间段。 |
1779 1780 1781 1782 1783

## UpgradePeriod

升级时间段。

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

1786
| 名称    | 类型   | 必填   | 说明   |
H
HelloCrease 已提交
1787
| ----- | ------ | ---- | ---- |
1788 1789
| start | number | 是    | 开始时间。 |
| end   | number | 是    | 结束时间。 |
1790 1791 1792

## TaskInfo

1793
任务信息。
1794

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

1797
| 名称        | 类型                  | 必填   | 说明     |
H
HelloCrease 已提交
1798
| --------- | --------------------- | ---- | ------ |
N
ningning 已提交
1799
| existTask |  boolean                  | 是    | 是否存在任务。<br>ture表示存在,false表示不存在。 |
1800
| taskBody  | [TaskBody](#taskinfo) | 是    | 任务数据。   |
1801 1802 1803

## EventInfo

1804
事件信息。
1805

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

1808
| 名称       | 类型                  | 必填   | 说明   |
H
HelloCrease 已提交
1809
| -------- | --------------------- | ---- | ---- |
1810 1811
| eventId  | [EventId](#eventid)   | 是    | 事件ID。 |
| taskBody | [TaskBody](#taskinfo) | 是    | 任务数据。 |
1812 1813 1814

## TaskBody

1815
任务数据。
1816

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

1819
| 名称                | 类型                                     | 必填   | 说明   |
H
HelloCrease 已提交
1820
| ----------------- | ---------------------------------------- | ---- | ---- |
1821 1822 1823 1824 1825 1826 1827
| versionDigestInfo | [VersionDigestInfo](#versiondigestinfo)  | 是    | 版本摘要。 |
| status            | [UpgradeStatus](#upgradestatus)          | 是    | 升级状态。 |
| subStatus         | number                                   | 否    | 子状态。  |
| progress          | number                                   | 是    | 进度。   |
| installMode       | number                                   | 是    | 安装模式。 |
| errorMessages     | Array\<[ErrorMessage](#errormessage)>    | 否    | 错误信息。 |
| versionComponents | Array\<[VersionComponent](#versioncomponent)> | 是    | 版本组件。 |
1828 1829 1830

## ErrorMessage

1831
错误信息。
1832

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

1835
| 名称           | 类型   | 必填   | 说明   |
H
HelloCrease 已提交
1836
| ------------ | ------ | ---- | ---- |
1837 1838
| errorCode    | number | 是    | 错误码。  |
| errorMessage | string | 是    | 错误描述。 |
1839

1840 1841 1842 1843
## EventClassifyInfo

事件信息。

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

1846
| 名称            | 类型                            | 必填   | 说明   |
H
HelloCrease 已提交
1847
| ------------- | ------------------------------- | ---- | ---- |
1848 1849
| eventClassify | [EventClassify](#eventclassify) | 是    | 事件类型。 |
| extraInfo     | string                          | 是    | 额外信息。 |
1850

1851 1852 1853 1854
## UpgradeFile

升级文件。

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

1857
| 名称       | 类型                            | 必填   | 说明   |
H
HelloCrease 已提交
1858
| -------- | ------------------------------- | ---- | ---- |
1859 1860
| fileType | [ComponentType](#componenttype) | 是    | 文件类型。 |
| filePath | string                          | 是    | 文件路径。 |
1861 1862 1863

## UpgradeTaskCallback

1864
(eventInfo: EventInfo): void
1865

1866
事件回调。
1867

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

1870
| 名称        | 类型                    | 必填   | 说明   |
H
HelloCrease 已提交
1871
| --------- | ----------------------- | ---- | ---- |
1872
| eventInfo | [EventInfo](#eventinfo) | 是    | 事件信息。 |
Z
zengyawen 已提交
1873

1874 1875 1876 1877
## BusinessVendor

设备厂家。

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

1880
| 名称    | 值      | 说明   |
H
HelloCrease 已提交
1881
| ------ | -------- | ---- |
1882
| PUBLIC | "public" | 开源。   |
1883 1884 1885 1886 1887

## BusinessSubType

升级类型。

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

1890
| 名称      | 值  | 说明   |
H
HelloCrease 已提交
1891
| -------- | ---- | ---- |
1892
| FIRMWARE | 1    | 固件。   |
1893 1894 1895

## ComponentType

1896
组件类型。
1897

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

1900
| 名称  | 值  | 说明   |
H
HelloCrease 已提交
1901
| ---- | ---- | ---- |
1902
| OTA  | 1    | 固件。   |
1903 1904 1905 1906 1907

## UpgradeAction

升级方式。

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

1910
| 名称      | 值        | 说明   |
H
HelloCrease 已提交
1911
| -------- | ---------- | ---- |
1912 1913
| UPGRADE  | "upgrade"  | 差分包。  |
| RECOVERY | "recovery" | 修复包。  |
1914 1915 1916 1917 1918

## EffectiveMode

生效模式。

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

1921
| 名称           | 值  | 说明   |
H
HelloCrease 已提交
1922
| ------------- | ---- | ---- |
1923 1924 1925
| COLD          | 1    | 冷升级。  |
| LIVE          | 2    | 热升级。  |
| LIVE_AND_COLD | 3    | 融合升级。 |
1926 1927 1928 1929 1930

## DescriptionType

描述文件类型。

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

1933
| 名称     | 值  | 说明   |
H
HelloCrease 已提交
1934
| ------- | ---- | ---- |
1935 1936
| CONTENT | 0    | 内容。   |
| URI     | 1    | 链接。   |
1937

1938 1939 1940 1941 1942 1943
## DescriptionFormat

描述文件格式。

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

1944
| 名称        | 值  | 说明   |
H
HelloCrease 已提交
1945
| ---------- | ---- | ---- |
1946 1947
| STANDARD   | 0    | 标准格式。 |
| SIMPLIFIED | 1    | 简易格式。 |
1948

1949 1950 1951 1952
## NetType

网络类型。

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

1955
| 名称               | 值  | 说明        |
H
HelloCrease 已提交
1956
| ----------------- | ---- | --------- |
1957 1958 1959 1960 1961
| CELLULAR          | 1    | 数据网络。      |
| METERED_WIFI      | 2    | 热点WIFI。    |
| NOT_METERED_WIFI  | 4    | 非热点WIFI。   |
| WIFI              | 6    | WIFI。      |
| CELLULAR_AND_WIFI | 7    | 数据网络和WIFI。 |
1962 1963 1964 1965 1966

## Order

升级指令。

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

1969
| 名称                  | 值  | 说明    |
H
HelloCrease 已提交
1970
| -------------------- | ---- | ----- |
1971 1972 1973 1974 1975
| DOWNLOAD             | 1    | 下载。    |
| INSTALL              | 2    | 安装。    |
| DOWNLOAD_AND_INSTALL | 3    | 下载并安装。 |
| APPLY                | 4    | 生效。    |
| INSTALL_AND_APPLY    | 6    | 安装并生效。 |
1976 1977 1978

## UpgradeStatus

1979
升级状态。
1980

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

1983
| 名称              | 值  | 说明   |
H
HelloCrease 已提交
1984
| ---------------- | ---- | ---- |
1985 1986 1987 1988 1989 1990 1991
| WAITING_DOWNLOAD | 20   | 待下载。  |
| DOWNLOADING      | 21   | 下载中。  |
| DOWNLOAD_PAUSED  | 22   | 下载暂停。 |
| DOWNLOAD_FAIL    | 23   | 下载失败。 |
| WAITING_INSTALL  | 30   | 待安装。  |
| UPDATING         | 31   | 更新中。  |
| WAITING_APPLY    | 40   | 待生效。  |
1992
| APPLYING         | 41   | 生效中。  |
1993 1994
| UPGRADE_SUCCESS  | 50   | 升级成功。 |
| UPGRADE_FAIL     | 51   | 升级失败。 |
1995 1996 1997 1998 1999

## EventClassify

事件类型。

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

2002
| 名称   | 值        | 说明   |
H
HelloCrease 已提交
2003
| ---- | ---------- | ---- |
2004
| TASK | 0x01000000 | 任务事件。 |
2005 2006 2007 2008 2009

## EventId

事件ID。

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

2012
| 名称                     | 值        | 说明     |
H
HelloCrease 已提交
2013
| ---------------------- | ---------- | ------ |
2014
| EVENT_TASK_BASE        | EventClassify.TASK | 任务事件。   |
2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030
| 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 | 更新失败。   |