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
## defaultAppMgr.ApplicationType

X
xsz233 已提交
26
默认应用的应用类型。
27

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
**示例:**

X
xsz233 已提交
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
**示例:**

X
xsz233 已提交
99
```ts
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
| -------- | ----------------------------------------- |
J
junyi233 已提交
141
| 17700004 | The specified user ID is not found.       |
142 143 144
| 17700023 | The specified default app does not exist. |
| 17700025 | The specified type is invalid.            |

145 146
**示例:**

X
xsz233 已提交
147
```ts
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
| -------- | ----------------------------------------- |
J
junyi233 已提交
192
| 17700004 | The specified user ID is not found.       |
193 194 195
| 17700023 | The specified default app does not exist. |
| 17700025 | The specified type is invalid.            |

196 197
**示例:**

X
xsz233 已提交
198
```ts
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
| -------- | ----------------------------------------- |
J
junyi233 已提交
243
| 17700004 | The specified user ID is not found.       |
244 245 246
| 17700023 | The specified default app does not exist. |
| 17700025 | The specified type is invalid.            |

247 248
**示例:**

X
xsz233 已提交
249
```ts
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

X
xsz233 已提交
269 270 271
setDefaultApplication(type: string, elementName: ElementName, userId?: number): Promise\<BundleInfo>

**返回值:**
W
wanghang 已提交
272 273 274 275 276 277

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

>
278

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

281
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
282

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

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

**参数:**

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

W
wanghang 已提交
295 296 297 298 299 300
**返回值:**

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

301 302
**错误码:**

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

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

311 312
**示例:**

X
xsz233 已提交
313
```ts
W
wanghang 已提交
314
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
315 316 317 318
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
W
wanghang 已提交
319
}).then((data) => {
320
    console.info('Operation successful.');
W
wanghang 已提交
321 322 323 324 325 326 327 328 329 330 331 332
}).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) => {
333 334 335 336 337 338 339
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
});

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

## defaultAppMgr.setDefaultApplication

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

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

353
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
354

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

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

**参数:**

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

368 369
**错误码:**

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

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

378 379
**示例:**

X
xsz233 已提交
380
```ts
W
wanghang 已提交
381 382
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
383 384 385 386
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
    bundleName: "com.test.app",
    moduleName: "module01",
    abilityName: "MainAbility"
W
wanghang 已提交
387
}, userId, (err, data) => {
388 389 390 391 392 393 394 395 396 397 398
    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 已提交
399
}, userId, (err, data) => {
400 401 402 403 404 405 406 407 408 409 410 411
    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;

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

414
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
415

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

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

**参数:**

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

428 429
**错误码:**

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

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

438 439
**示例:**

X
xsz233 已提交
440
```ts
W
wanghang 已提交
441
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
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 469 470
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>

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

473
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
474

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

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

**参数:**

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

486 487
**错误码:**

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

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

495 496
**示例:**

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

W
wanghang 已提交
508
defaultAppMgr.resetDefaultApplication("image/png", userId)
509 510 511 512 513 514 515 516 517 518 519 520
.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;

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

523
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
524

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

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

**参数:**

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

537 538
**错误码:**

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

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

546 547
**示例:**

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

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

## defaultAppMgr.resetDefaultApplication

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

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

574
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
575

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

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

**参数:**

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

587 588
**错误码:**

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

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

596 597
**示例:**

X
xsz233 已提交
598
```ts
W
wanghang 已提交
599
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615
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.');
});
```