js-apis-defaultAppManager.md 24.3 KB
Newer Older
1
# 默认应用管理
2

3
本模块提供查询默认应用的能力,支持查询当前应用是否是默认应用。
4

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

## 导入模块

```
J
junyi233 已提交
12
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
13
```
Z
zhaogan 已提交
14 15 16 17 18 19 20 21 22 23

## 权限列表

| 权限                                    | 权限等级    | 描述             |
| --------------------------------------- | ----------- | ---------------- |
| ohos.permission.GET_DEFAULT_APPLICATION | system_core | 默认应用相关权限。 |

权限等级参考[权限等级说明](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/accesstoken-overview.md#%E6%9D%83%E9%99%90%E7%AD%89%E7%BA%A7%E8%AF%B4%E6%98%8E)


24 25 26 27
## defaultAppMgr.ApplicationType

应用类型

Z
zhaogan 已提交
28
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
29

J
junyi233 已提交
30
| 参数名     | 类型     | 值    | 说明                                   |
31 32 33 34 35 36 37 38 39
| -------- | -------- | -------------------------------------- | -------------------------------------- |
| BROWSER  | string   | Web Browser | 默认浏览器。                            |
| IMAGE    | string   | Image Gallery | 默认图片查看器。                         |
| AUDIO    | string   | Audio Player | 默认音频播放器。                         |
| VIDEO    | string   | Video Player | 默认视频播放器。                         |
| PDF      | string   | PDF Viewer | 默认PDF文档查看器。                      |
| WORD     | string   | Word Viewer | 默认WORD文档查看器。                     |
| EXCEL    | string   | Excel Viewer | 默认EXCEL文档查看器。                    |
| PPT      | string   | PPT Viewer | 默认PPT文档查看器。                      |
40 41 42 43 44

## defaultAppMgr.isDefaultApplication

isDefaultApplication(type: string): Promise\<boolean>

45
以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用Promise形式返回结果。
46

Z
zhaogan 已提交
47
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
48 49 50

**参数:**

J
junyi233 已提交
51
| 参数名         | 类型     | 必填   | 说明                                      |
52
| ----------- | ------ | ---- | --------------------------------------- |
53
| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值。                           |
54 55 56 57 58

**返回值:**

| 类型                        | 说明                 |
| ------------------------- | ------------------ |
59
| Promise\<boolean> | Promise形式返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 |
60

Z
zhaogan 已提交
61 62 63 64 65
**错误码:**

错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)


66 67
**示例:**

Z
zhaogan 已提交
68
```ts
W
wanghang 已提交
69
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
70 71 72 73 74 75 76 77 78 79 80 81
defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
.then((data) => {
    console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
```

## defaultAppMgr.isDefaultApplication

isDefaultApplication(type: string, callback: AsyncCallback\<boolean>): void

82
以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用callback形式返回结果。
83

Z
zhaogan 已提交
84
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
85 86 87

**参数:**

J
junyi233 已提交
88
| 参数名         | 类型                              | 必填   | 说明                                      |
89
| ----------- | ------------------------------- | ---- | --------------------------------------- |
90 91
| type  | string                          | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值。                            |
| callback    | AsyncCallback\<boolean> | 是    | 程序启动作为入参的回调函数,返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 |
92

Z
zhaogan 已提交
93 94 95 96
**错误码:**

错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

97 98 99
**示例:**

```js
W
wanghang 已提交
100
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
101 102 103 104 105 106 107 108 109
defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data));
 });
```

110 111 112 113
## defaultAppMgr.getDefaultApplication

getDefaultApplication(type: string, userId?: number): Promise\<BundleInfo>

114 115
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用Promise形式返回结果。

116
**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION
117

Z
zhaogan 已提交
118
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
119

J
junyi233 已提交
120
**系统API:**  此接口为系统接口,三方应用不支持调用
121 122 123

**参数:**

J
junyi233 已提交
124
| 参数名         | 类型     | 必填   | 说明                                      |
125
| ----------- | ------ | ---- | --------------------------------------- |
126
| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
127
| userId  | number | 否    | 用户ID。默认值:调用方所在用户。                        |
128 129 130 131 132

**返回值:**

| 类型                        | 说明                 |
| ------------------------- | ------------------ |
133
| Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | Promise形式返回默认应用包信息。 |
134

135 136
**错误码:**

Z
zhaogan 已提交
137 138
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
139
| 错误码ID | 错误信息                                  |
140 141 142 143 144
| -------- | ----------------------------------------- |
| 17700004 | The specified user id is not found.       |
| 17700023 | The specified default app does not exist. |
| 17700025 | The specified type is invalid.            |

145 146 147
**示例:**

```js
W
wanghang 已提交
148
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
149 150
defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
.then((data) => {
151 152 153
    console.info('Operation successful. bundleInfo: ' + JSON.stringify(data));
})
.catch((error) => {
154 155 156
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});

157
defaultAppMgr.getDefaultApplication("image/png")
158
.then((data) => {
159 160 161
    console.info('Operation successful. bundleInfo: ' + JSON.stringify(data));
})
.catch((error) => {
162 163 164 165
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
```

166 167 168 169 170
## defaultAppMgr.getDefaultApplication

getDefaultApplication(type: string, userId: number, callback: AsyncCallback\<BundleInfo>) : void

以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用callback形式返回结果。
171

172
**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION
173

Z
zhaogan 已提交
174
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
175

J
junyi233 已提交
176
**系统API:**  此接口为系统接口,三方应用不支持调用
177 178 179

**参数:**

J
junyi233 已提交
180
| 参数名         | 类型     | 必填   | 说明                                      |
181
| ----------- | ------ | ---- | --------------------------------------- |
182
| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
183 184
| userId  | number | 是    | 用户ID。                           |
| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回包信息。                    |
185

186 187
**错误码:**

Z
zhaogan 已提交
188 189
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
190
| 错误码ID | 错误信息                                  |
191 192 193 194 195
| -------- | ----------------------------------------- |
| 17700004 | The specified user id is not found.       |
| 17700023 | The specified default app does not exist. |
| 17700025 | The specified type is invalid.            |

196 197 198
**示例:**

```js
W
wanghang 已提交
199 200 201
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId, (err, data) => {
202 203 204 205 206 207 208
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
});

W
wanghang 已提交
209
defaultAppMgr.getDefaultApplication("image/png", userId, (err, data) => {
210 211 212 213 214
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
215 216
});
```
217 218 219 220 221 222 223

## defaultAppMgr.getDefaultApplication

getDefaultApplication(type: string, callback: AsyncCallback\<BundleInfo>) : void

以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用callback形式返回结果。

224
**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION
225

Z
zhaogan 已提交
226
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
227

J
junyi233 已提交
228
**系统API:**  此接口为系统接口,三方应用不支持调用
229 230 231

**参数:**

J
junyi233 已提交
232
| 参数名         | 类型     | 必填   | 说明                                      |
233
| ----------- | ------ | ---- | --------------------------------------- |
234
| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
235 236
| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回包信息。                    |

237 238
**错误码:**

Z
zhaogan 已提交
239 240
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
241
| 错误码ID | 错误信息                                  |
242 243 244 245 246
| -------- | ----------------------------------------- |
| 17700004 | The specified user id is not found.       |
| 17700023 | The specified default app does not exist. |
| 17700025 | The specified type is invalid.            |

247 248 249
**示例:**

```js
W
wanghang 已提交
250
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268
defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
});
defaultAppMgr.getDefaultApplication("image/png", (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
});
```

## defaultAppMgr.setDefaultApplication

W
wanghang 已提交
269 270 271 272 273 274 275
setDefaultApplication(type: string, elementName: ElementName, userId?: number): Promise\<**返回值:**

| 类型                                                        | 说明                        |
| ----------------------------------------------------------- | --------------------------- |
| Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | Promise对象,返回BundleInfo |

>
276

277
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,使用Promise形式返回结果。
278

279
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
280

Z
zhaogan 已提交
281
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
282

J
junyi233 已提交
283
**系统API:**  此接口为系统接口,三方应用不支持调用
284 285 286

**参数:**

J
junyi233 已提交
287
| 参数名         | 类型     | 必填   | 说明                                      |
288
| ----------- | ------ | ---- | --------------------------------------- |
289
| type  | string | 是    | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
290 291 292
| elementName  | [ElementName](js-apis-bundle-ElementName.md) | 是    | 要设置为默认应用的组件信息。                           |
| userId  | number | 否    | 用户ID。默认值:调用方所在用户。                           |

W
wanghang 已提交
293 294 295 296 297 298
**返回值:**

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

299 300
**错误码:**

Z
zhaogan 已提交
301 302
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
303
| 错误码ID | 错误信息                                       |
304 305 306 307 308
| -------- | ---------------------------------------------- |
| 17700004 | The specified user id is not found.            |
| 17700025 | The specified type is invalid.                 |
| 17700028 | The specified ability and type does not match. |

309 310 311
**示例:**

```js
W
wanghang 已提交
312
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
313 314 315 316
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
W
wanghang 已提交
317
}).then((data) => {
318
    console.info('Operation successful.');
W
wanghang 已提交
319 320 321 322 323 324 325 326 327 328 329 330
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});

let userId = 100;
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
}, userId).then((data) => {
    console.info('Operation successful.');
}).catch((error) => {
331 332 333 334 335 336 337
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});

defaultAppMgr.setDefaultApplication("image/png", {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
W
wanghang 已提交
338
}, userId).then((data) => {
339
    console.info('Operation successful.');
W
wanghang 已提交
340
}).catch((error) => {
341 342 343 344 345 346 347 348
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
```

## defaultAppMgr.setDefaultApplication

setDefaultApplication(type: string, elementName: ElementName, userId: number, callback: AsyncCallback\<void>) : void;

349
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,使用callback形式返回结果。
350

351
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
352

Z
zhaogan 已提交
353
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
354

J
junyi233 已提交
355
**系统API:**  此接口为系统接口,三方应用不支持调用
356 357 358

**参数:**

J
junyi233 已提交
359
| 参数名         | 类型     | 必填   | 说明                                      |
360
| ----------- | ------ | ---- | --------------------------------------- |
361
| type  | string | 是    | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
362 363 364 365
| elementName  | [ElementName](js-apis-bundle-ElementName.md) | 是    | 要设置为默认应用的组件信息。                           |
| userId  | number | 是    | 用户ID。                           |
| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |

366 367
**错误码:**

Z
zhaogan 已提交
368 369
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
370
| 错误码ID | 错误信息                                       |
371 372 373 374 375
| -------- | ---------------------------------------------- |
| 17700004 | The specified user id is not found.            |
| 17700025 | The specified type is invalid.                 |
| 17700028 | The specified ability and type does not match. |

376 377 378
**示例:**

```js
W
wanghang 已提交
379 380
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
381 382 383 384
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
W
wanghang 已提交
385
}, userId, (err, data) => {
386 387 388 389 390 391 392 393 394 395 396
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
 });

defaultAppMgr.setDefaultApplication("image/png", {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
W
wanghang 已提交
397
}, userId, (err, data) => {
398 399 400 401 402 403 404 405 406 407 408 409
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
 });
```

## defaultAppMgr.setDefaultApplication

setDefaultApplication(type: string, elementName: ElementName, callback: AsyncCallback\<void>) : void;

410
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,使用callback形式返回结果。
411

412
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
413

Z
zhaogan 已提交
414
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
415

J
junyi233 已提交
416
**系统API:**  此接口为系统接口,三方应用不支持调用
417 418 419

**参数:**

J
junyi233 已提交
420
| 参数名         | 类型     | 必填   | 说明                                      |
421
| ----------- | ------ | ---- | --------------------------------------- |
422
| type  | string | 是    | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
423 424 425
| elementName  | [ElementName](js-apis-bundle-ElementName.md) | 是    | 要设置为默认应用的组件信息。                           |
| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |

426 427
**错误码:**

Z
zhaogan 已提交
428 429
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
430
| 错误码ID | 错误信息                                       |
431 432 433 434 435
| -------- | ---------------------------------------------- |
| 17700004 | The specified user id is not found.            |
| 17700025 | The specified type is invalid.                 |
| 17700028 | The specified ability and type does not match. |

436 437
**示例:**

Z
zhaogan 已提交
438
```ts
W
wanghang 已提交
439
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
}, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
 });

defaultAppMgr.setDefaultApplication("image/png", {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
}, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
 });
```

## defaultAppMgr.resetDefaultApplication

resetDefaultApplication(type: string, userId?: number): Promise\<void>

469
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用Promise形式返回结果。
470

471
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
472

Z
zhaogan 已提交
473
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
474

J
junyi233 已提交
475
**系统API:**  此接口为系统接口,三方应用不支持调用
476 477 478

**参数:**

J
junyi233 已提交
479
| 参数名         | 类型     | 必填   | 说明                                      |
480
| ----------- | ------ | ---- | --------------------------------------- |
481
| type  | string | 是    | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
482 483
| userId  | number | 否    | 用户ID。默认值:调用方所在用户。                           |

484 485
**错误码:**

Z
zhaogan 已提交
486 487
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
488
| 错误码ID | 错误信息                            |
489 490 491 492
| -------- | ----------------------------------- |
| 17700004 | The specified user id is not found. |
| 17700025 | The specified type is invalid.      |

493 494 495
**示例:**

```js
W
wanghang 已提交
496 497 498
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId)
499 500 501 502 503 504 505
.then((data) => {
    console.info('Operation successful.');
})
.catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});

W
wanghang 已提交
506
defaultAppMgr.resetDefaultApplication("image/png", userId)
507 508 509 510 511 512 513 514 515 516 517 518
.then((data) => {
    console.info('Operation successful.');
})
.catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
```

## defaultAppMgr.resetDefaultApplication

resetDefaultApplication(type: string, userId: number, callback: AsyncCallback\<void>) : void;

519
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用callback形式返回结果。
520

521
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
522

Z
zhaogan 已提交
523
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
524

J
junyi233 已提交
525
**系统API:**  此接口为系统接口,三方应用不支持调用
526 527 528

**参数:**

J
junyi233 已提交
529
| 参数名         | 类型     | 必填   | 说明                                      |
530
| ----------- | ------ | ---- | --------------------------------------- |
531
| type  | string | 是    | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
532 533 534
| userId  | number | 是    | 用户ID。                          |
| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |

535 536
**错误码:**

Z
zhaogan 已提交
537 538
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
539
| 错误码ID | 错误信息                            |
540 541 542 543
| -------- | ----------------------------------- |
| 17700004 | The specified user id is not found. |
| 17700025 | The specified type is invalid.      |

544 545 546
**示例:**

```js
W
wanghang 已提交
547 548 549
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId, (err, data) => {
550 551 552 553 554 555 556
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
});

W
wanghang 已提交
557
defaultAppMgr.resetDefaultApplication("image/png", userId, (err, data) => {
558 559 560 561 562 563 564 565 566 567 568 569
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
});
```

## defaultAppMgr.resetDefaultApplication

resetDefaultApplication(type: string, callback: AsyncCallback\<void>) : void;

570
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用callback形式返回结果。
571

572
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
573

Z
zhaogan 已提交
574
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
575

J
junyi233 已提交
576
**系统API:**  此接口为系统接口,三方应用不支持调用
577 578 579

**参数:**

J
junyi233 已提交
580
| 参数名         | 类型     | 必填   | 说明                                      |
581
| ----------- | ------ | ---- | --------------------------------------- |
582
| type  | string | 是    | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
583 584
| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |

585 586
**错误码:**

Z
zhaogan 已提交
587 588
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)

J
junyi233 已提交
589
| 错误码ID | 错误信息                            |
590 591 592 593
| -------- | ----------------------------------- |
| 17700004 | The specified user id is not found. |
| 17700025 | The specified type is invalid.      |

594 595
**示例:**

Z
zhaogan 已提交
596
```ts
W
wanghang 已提交
597
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
});

defaultAppMgr.resetDefaultApplication("image/png", (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful.');
});
```