• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.bundle.defaultAppManager (默认应用管理)
2
3本模块提供查询默认应用的能力,支持查询当前应用是否是默认应用。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import defaultAppMgr from '@ohos.bundle.defaultAppManager';
13```
14
15## 权限列表
16
17| 权限                                    | 权限等级    | 描述             |
18| --------------------------------------- | ----------- | ---------------- |
19| ohos.permission.GET_DEFAULT_APPLICATION | system_core | 默认应用相关权限。 |
20
21权限等级参考[权限等级说明](../../security/accesstoken-overview.md#权限等级说明)。
22
23
24## defaultAppMgr.ApplicationType
25
26默认应用的应用类型。
27
28**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
29
30| 名称   | 值 | 说明                                   |
31| -------- | -------------------------------------- | -------------------------------------- |
32| BROWSER  | "Web Browser" | 默认浏览器。                            |
33| IMAGE    | "Image Gallery" | 默认图片查看器。                         |
34| AUDIO    | "Audio Player" | 默认音频播放器。                         |
35| VIDEO    | "Video Player" | 默认视频播放器。                         |
36| PDF      | "PDF Viewer" | 默认PDF文档查看器。                      |
37| WORD     | "Word Viewer" | 默认WORD文档查看器。                     |
38| EXCEL    | "Excel Viewer" | 默认EXCEL文档查看器。                    |
39| PPT      | "PPT Viewer" | 默认PPT文档查看器。                      |
40
41## defaultAppMgr.isDefaultApplication
42
43isDefaultApplication(type: string): Promise\<boolean>
44
45以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用Promise形式返回结果。
46
47**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
48
49**参数:**
50
51| 参数名         | 类型     | 必填   | 说明                                      |
52| ----------- | ------ | ---- | --------------------------------------- |
53| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值。                           |
54
55**返回值:**
56
57| 类型                        | 说明                 |
58| ------------------------- | ------------------ |
59| Promise\<boolean> | Promise形式返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 |
60
61
62**示例:**
63
64```ts
65import defaultAppMgr from '@ohos.bundle.defaultAppManager';
66import { BusinessError } from '@ohos.base';
67
68defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
69  .then((data) => {
70    console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data));
71  }).catch((error: BusinessError) => {
72  console.error('Operation failed. Cause: ' + JSON.stringify(error));
73});
74```
75
76## defaultAppMgr.isDefaultApplication
77
78isDefaultApplication(type: string, callback: AsyncCallback\<boolean>): void
79
80以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用callback形式返回结果。
81
82**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
83
84**参数:**
85
86| 参数名         | 类型                              | 必填   | 说明                                      |
87| ----------- | ------------------------------- | ---- | --------------------------------------- |
88| type  | string                          | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值。                            |
89| callback    | AsyncCallback\<boolean> | 是    | 程序启动作为入参的回调函数,返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 |
90
91**示例:**
92
93```ts
94import defaultAppMgr from '@ohos.bundle.defaultAppManager';
95import { BusinessError } from '@ohos.base';
96
97defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err: BusinessError, data) => {
98  if (err) {
99    console.error('Operation failed. Cause: ' + JSON.stringify(err));
100    return;
101  }
102  console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data));
103});
104```
105
106## defaultAppMgr.isDefaultApplicationSync<sup>10+</sup>
107
108isDefaultApplicationSync(type: string): boolean
109
110以同步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用boolean形式返回结果。
111
112**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
113
114**参数:**
115
116| 参数名 | 类型   | 必填 | 说明                                     |
117| -------| ------ | ---- | --------------------------------------- |
118|  type  | string | 是   | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值。   |
119
120**返回值:**
121
122| 类型    | 说明                 |
123| ------- | -------------------- |
124| boolean | 返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 |
125
126
127**示例:**
128
129```ts
130import defaultAppMgr from '@ohos.bundle.defaultAppManager';
131try {
132  let data = defaultAppMgr.isDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER)
133  console.info('Operation successful. IsDefaultApplicationSync ? ' + JSON.stringify(data));
134} catch(error) {
135  console.error('Operation failed. Cause: ' + JSON.stringify(error));
136};
137```
138
139## defaultAppMgr.getDefaultApplication
140
141getDefaultApplication(type: string, userId?: number): Promise\<BundleInfo>
142
143以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用Promise形式返回结果。
144
145**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION
146
147**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
148
149**系统API:**  此接口为系统接口。
150
151**参数:**
152
153| 参数名         | 类型     | 必填   | 说明                                      |
154| ----------- | ------ | ---- | --------------------------------------- |
155| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
156| userId  | number | 否    | 用户ID。默认值:调用方所在用户。                        |
157
158**返回值:**
159
160| 类型                        | 说明                 |
161| ------------------------- | ------------------ |
162| Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | Promise形式返回默认应用包信息。 |
163
164**错误码:**
165
166以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
167
168| 错误码ID | 错误信息                                  |
169| -------- | ----------------------------------------- |
170| 17700004 | The specified user ID is not found.       |
171| 17700023 | The specified default app does not exist. |
172| 17700025 | The specified type is invalid.            |
173
174**示例:**
175
176```ts
177import defaultAppMgr from '@ohos.bundle.defaultAppManager';
178import { BusinessError } from '@ohos.base';
179
180defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
181  .then((data) => {
182    console.info('Operation successful. bundleInfo: ' + JSON.stringify(data));
183  })
184  .catch((error: BusinessError) => {
185    console.error('Operation failed. Cause: ' + JSON.stringify(error));
186  });
187
188defaultAppMgr.getDefaultApplication("image/png")
189  .then((data) => {
190    console.info('Operation successful. bundleInfo: ' + JSON.stringify(data));
191  })
192  .catch((error: BusinessError) => {
193    console.error('Operation failed. Cause: ' + JSON.stringify(error));
194  });
195```
196
197## defaultAppMgr.getDefaultApplication
198
199getDefaultApplication(type: string, userId: number, callback: AsyncCallback\<BundleInfo>) : void
200
201以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用callback形式返回结果。
202
203**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION
204
205**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
206
207**系统API:**  此接口为系统接口。
208
209**参数:**
210
211| 参数名         | 类型     | 必填   | 说明                                      |
212| ----------- | ------ | ---- | --------------------------------------- |
213| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
214| userId  | number | 是    | 用户ID。                           |
215| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回包信息。                    |
216
217**错误码:**
218
219以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
220
221| 错误码ID | 错误信息                                  |
222| -------- | ----------------------------------------- |
223| 17700004 | The specified user ID is not found.       |
224| 17700023 | The specified default app does not exist. |
225| 17700025 | The specified type is invalid.            |
226
227**示例:**
228
229```ts
230import defaultAppMgr from '@ohos.bundle.defaultAppManager';
231import { BusinessError } from '@ohos.base';
232
233let userId = 100;
234defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId, (err: BusinessError, data) => {
235  if (err) {
236    console.error('Operation failed. Cause: ' + JSON.stringify(err));
237    return;
238  }
239  console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
240});
241
242defaultAppMgr.getDefaultApplication("image/png", userId, (err: BusinessError, data) => {
243  if (err) {
244    console.error('Operation failed. Cause: ' + JSON.stringify(err));
245    return;
246  }
247  console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
248});
249```
250
251## defaultAppMgr.getDefaultApplication
252
253getDefaultApplication(type: string, callback: AsyncCallback\<BundleInfo>) : void
254
255以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用callback形式返回结果。
256
257**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION
258
259**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
260
261**系统API:**  此接口为系统接口。
262
263**参数:**
264
265| 参数名         | 类型     | 必填   | 说明                                      |
266| ----------- | ------ | ---- | --------------------------------------- |
267| type  | string | 是    | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
268| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回包信息。                    |
269
270**错误码:**
271
272以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
273
274| 错误码ID | 错误信息                                  |
275| -------- | ----------------------------------------- |
276| 17700023 | The specified default app does not exist. |
277| 17700025 | The specified type is invalid.            |
278
279**示例:**
280
281```ts
282import defaultAppMgr from '@ohos.bundle.defaultAppManager';
283import { BusinessError } from '@ohos.base';
284
285defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err: BusinessError, data) => {
286  if (err) {
287    console.error('Operation failed. Cause: ' + JSON.stringify(err));
288    return;
289  }
290  console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
291});
292defaultAppMgr.getDefaultApplication("image/png", (err: BusinessError, data) => {
293  if (err) {
294    console.error('Operation failed. Cause: ' + JSON.stringify(err));
295    return;
296  }
297  console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
298});
299```
300
301## defaultAppMgr.getDefaultApplicationSync<sup>10+</sup>
302
303getDefaultApplicationSync(type: string, userId?: number): BundleInfo
304
305以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用BundleInfo返回结果。
306
307**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION
308
309**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
310
311**系统API:**  此接口为系统接口。
312
313**参数:**
314
315| 参数名 | 类型   | 必填 | 说明                                    |
316| -------| ------ | ---- | --------------------------------------- |
317| type   | string | 是   | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。|
318| userId | number | 否   | 用户ID。默认值:调用方所在用户。         |
319
320**返回值:**
321
322| 类型                                       | 说明                 |
323| ------------------------------------------ | -------------------- |
324| [BundleInfo](js-apis-bundle-BundleInfo.md) | 返回的默认应用包信息。|
325
326**错误码:**
327
328以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
329
330| 错误码ID | 错误信息                                  |
331| -------- | ----------------------------------------- |
332| 17700004 | The specified user ID is not found.       |
333| 17700023 | The specified default app does not exist. |
334| 17700025 | The specified type is invalid.            |
335
336**示例:**
337
338```ts
339import defaultAppMgr from '@ohos.bundle.defaultAppManager';
340try {
341  let data = defaultAppMgr.getDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER)
342  console.info('Operation successful. bundleInfo: ' + JSON.stringify(data));
343} catch(error) {
344  console.error('Operation failed. Cause: ' + JSON.stringify(error));
345};
346
347try {
348  let data = defaultAppMgr.getDefaultApplicationSync("image/png")
349  console.info('Operation successful. bundleInfo: ' + JSON.stringify(data));
350} catch(error) {
351  console.error('Operation failed. Cause: ' + JSON.stringify(error));
352};
353```
354
355## defaultAppMgr.setDefaultApplication
356
357setDefaultApplication(type: string, elementName: ElementName, userId?: number): Promise\<void>
358
359以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,使用Promise形式返回结果。
360
361**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
362
363**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
364
365**系统API:**  此接口为系统接口。
366
367**参数:**
368
369| 参数名         | 类型     | 必填   | 说明                                      |
370| ----------- | ------ | ---- | --------------------------------------- |
371| type  | string | 是    | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
372| elementName  | [ElementName](js-apis-bundle-ElementName.md) | 是    | 要设置为默认应用的组件信息。                           |
373| userId  | number | 否    | 用户ID。默认值:调用方所在用户。                           |
374
375**返回值:**
376
377| 类型           | 说明                               |
378| -------------- | ---------------------------------- |
379| Promise\<void> | Promise对象,无返回结果的Promise对象。 |
380
381**错误码:**
382
383以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
384
385| 错误码ID | 错误信息                                       |
386| -------- | ---------------------------------------------- |
387| 17700004 | The specified user ID is not found.            |
388| 17700025 | The specified type is invalid.                 |
389| 17700028 | The specified ability does not match the type. |
390
391**示例:**
392
393```ts
394import defaultAppMgr from '@ohos.bundle.defaultAppManager';
395import { BusinessError } from '@ohos.base';
396
397defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
398  bundleName: "com.example.myapplication",
399  moduleName: "module01",
400  abilityName: "EntryAbility"
401}).then((data) => {
402  console.info('Operation successful.');
403}).catch((error: BusinessError) => {
404  console.error('Operation failed. Cause: ' + JSON.stringify(error));
405});
406
407let userId = 100;
408defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
409  bundleName: "com.example.myapplication",
410  moduleName: "module01",
411  abilityName: "EntryAbility"
412}, userId).then((data) => {
413  console.info('Operation successful.');
414}).catch((error: BusinessError) => {
415  console.error('Operation failed. Cause: ' + JSON.stringify(error));
416});
417
418defaultAppMgr.setDefaultApplication("image/png", {
419  bundleName: "com.example.myapplication",
420  moduleName: "module01",
421  abilityName: "EntryAbility"
422}, userId).then((data) => {
423  console.info('Operation successful.');
424}).catch((error: BusinessError) => {
425  console.error('Operation failed. Cause: ' + JSON.stringify(error));
426});
427```
428
429## defaultAppMgr.setDefaultApplication
430
431setDefaultApplication(type: string, elementName: ElementName, userId: number, callback: AsyncCallback\<void>) : void
432
433以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,使用callback形式返回结果。
434
435**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
436
437**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
438
439**系统API:**  此接口为系统接口。
440
441**参数:**
442
443| 参数名         | 类型     | 必填   | 说明                                      |
444| ----------- | ------ | ---- | --------------------------------------- |
445| type  | string | 是    | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
446| elementName  | [ElementName](js-apis-bundle-ElementName.md) | 是    | 要设置为默认应用的组件信息。                           |
447| userId  | number | 是    | 用户ID。                           |
448| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |
449
450**错误码:**
451
452以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
453
454| 错误码ID | 错误信息                                       |
455| -------- | ---------------------------------------------- |
456| 17700004 | The specified user ID is not found.            |
457| 17700025 | The specified type is invalid.                 |
458| 17700028 | The specified ability does not match the type. |
459
460**示例:**
461
462```ts
463import defaultAppMgr from '@ohos.bundle.defaultAppManager';
464import { BusinessError } from '@ohos.base';
465
466let userId = 100;
467defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
468  bundleName: "com.example.myapplication",
469  moduleName: "module01",
470  abilityName: "EntryAbility"
471}, userId, (err: BusinessError, data) => {
472  if (err) {
473    console.error('Operation failed. Cause: ' + JSON.stringify(err));
474    return;
475  }
476  console.info('Operation successful.');
477});
478
479defaultAppMgr.setDefaultApplication("image/png", {
480  bundleName: "com.example.myapplication",
481  moduleName: "module01",
482  abilityName: "EntryAbility"
483}, userId, (err: BusinessError, data) => {
484  if (err) {
485    console.error('Operation failed. Cause: ' + JSON.stringify(err));
486    return;
487  }
488  console.info('Operation successful.');
489});
490```
491
492## defaultAppMgr.setDefaultApplication
493
494setDefaultApplication(type: string, elementName: ElementName, callback: AsyncCallback\<void>) : void
495
496以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,使用callback形式返回结果。
497
498**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
499
500**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
501
502**系统API:**  此接口为系统接口。
503
504**参数:**
505
506| 参数名         | 类型     | 必填   | 说明                                      |
507| ----------- | ------ | ---- | --------------------------------------- |
508| type  | string | 是    | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
509| elementName  | [ElementName](js-apis-bundle-ElementName.md) | 是    | 要设置为默认应用的组件信息。                           |
510| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |
511
512**错误码:**
513
514以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
515
516| 错误码ID | 错误信息                                       |
517| -------- | ---------------------------------------------- |
518| 17700025 | The specified type is invalid.                 |
519| 17700028 | The specified ability does not match the type. |
520
521**示例:**
522
523```ts
524import defaultAppMgr from '@ohos.bundle.defaultAppManager';
525import { BusinessError } from '@ohos.base';
526
527defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
528  bundleName: "com.example.myapplication",
529  moduleName: "module01",
530  abilityName: "EntryAbility"
531}, (err: BusinessError, data) => {
532  if (err) {
533    console.error('Operation failed. Cause: ' + JSON.stringify(err));
534    return;
535  }
536  console.info('Operation successful.');
537});
538
539defaultAppMgr.setDefaultApplication("image/png", {
540  bundleName: "com.example.myapplication",
541  moduleName: "module01",
542  abilityName: "EntryAbility"
543}, (err: BusinessError, data) => {
544  if (err) {
545    console.error('Operation failed. Cause: ' + JSON.stringify(err));
546    return;
547  }
548  console.info('Operation successful.');
549});
550```
551
552## defaultAppMgr.setDefaultApplicationSync<sup>10+</sup>
553
554setDefaultApplicationSync(type: string, elementName: ElementName, userId?: number): void
555
556以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用。
557
558**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
559
560**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
561
562**系统API:**  此接口为系统接口。
563
564**参数:**
565
566| 参数名      | 类型   | 必填 | 说明                                      |
567| ----------- | ------ | ---- | --------------------------------------- |
568| type        | string | 是   | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。|
569| elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。                           |
570| userId      | number | 否   | 用户ID。默认值:调用方所在用户。                           |
571
572**错误码:**
573
574以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
575
576| 错误码ID | 错误信息                                       |
577| -------- | ---------------------------------------------- |
578| 17700004 | The specified user ID is not found.            |
579| 17700025 | The specified type is invalid.                 |
580| 17700028 | The specified ability does not match the type. |
581
582**示例:**
583
584```ts
585import defaultAppMgr from '@ohos.bundle.defaultAppManager';
586try {
587  defaultAppMgr.setDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER, {
588  bundleName: "com.example.myapplication",
589  moduleName: "module01",
590  abilityName: "EntryAbility"
591});
592  console.info('Operation successful.');
593} catch(error) {
594  console.error('Operation failed. Cause: ' + JSON.stringify(error));
595};
596
597let userId = 100;
598try {
599  defaultAppMgr.setDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER, {
600  bundleName: "com.example.myapplication",
601  moduleName: "module01",
602  abilityName: "EntryAbility"
603}, userId);
604  console.info('Operation successful.');
605} catch(error) {
606  console.error('Operation failed. Cause: ' + JSON.stringify(error));
607};
608
609try {
610  defaultAppMgr.setDefaultApplicationSync("image/png", {
611  bundleName: "com.example.myapplication",
612  moduleName: "module01",
613  abilityName: "EntryAbility"
614}, userId);
615  console.info('Operation successful.');
616} catch(error) {
617  console.error('Operation failed. Cause: ' + JSON.stringify(error));
618};
619```
620
621## defaultAppMgr.resetDefaultApplication
622
623resetDefaultApplication(type: string, userId?: number): Promise\<void>
624
625以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用Promise形式返回结果。
626
627**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
628
629**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
630
631**系统API:**  此接口为系统接口。
632
633**参数:**
634
635| 参数名         | 类型     | 必填   | 说明                                      |
636| ----------- | ------ | ---- | --------------------------------------- |
637| type  | string | 是    | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
638| userId  | number | 否    | 用户ID。默认值:调用方所在用户。                           |
639
640**错误码:**
641
642以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
643
644| 错误码ID | 错误信息                            |
645| -------- | ----------------------------------- |
646| 17700004 | The specified user ID is not found. |
647| 17700025 | The specified type is invalid.      |
648
649**示例:**
650
651```ts
652import defaultAppMgr from '@ohos.bundle.defaultAppManager';
653import { BusinessError } from '@ohos.base';
654
655let userId = 100;
656defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId)
657  .then((data) => {
658    console.info('Operation successful.');
659  })
660  .catch((error: BusinessError) => {
661    console.error('Operation failed. Cause: ' + JSON.stringify(error));
662  });
663
664defaultAppMgr.resetDefaultApplication("image/png", userId)
665  .then((data) => {
666    console.info('Operation successful.');
667  })
668  .catch((error: BusinessError) => {
669    console.error('Operation failed. Cause: ' + JSON.stringify(error));
670  });
671```
672
673## defaultAppMgr.resetDefaultApplication
674
675resetDefaultApplication(type: string, userId: number, callback: AsyncCallback\<void>) : void
676
677以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用callback形式返回结果。
678
679**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
680
681**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
682
683**系统API:**  此接口为系统接口。
684
685**参数:**
686
687| 参数名         | 类型     | 必填   | 说明                                      |
688| ----------- | ------ | ---- | --------------------------------------- |
689| type  | string | 是    | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
690| userId  | number | 是    | 用户ID。                          |
691| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |
692
693**错误码:**
694
695以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
696
697| 错误码ID | 错误信息                            |
698| -------- | ----------------------------------- |
699| 17700004 | The specified user ID is not found. |
700| 17700025 | The specified type is invalid.      |
701
702**示例:**
703
704```ts
705import defaultAppMgr from '@ohos.bundle.defaultAppManager';
706import { BusinessError } from '@ohos.base';
707
708let userId = 100;
709defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId, (err: BusinessError, data) => {
710  if (err) {
711    console.error('Operation failed. Cause: ' + JSON.stringify(err));
712    return;
713  }
714  console.info('Operation successful.');
715});
716
717defaultAppMgr.resetDefaultApplication("image/png", userId, (err: BusinessError, data) => {
718  if (err) {
719    console.error('Operation failed. Cause: ' + JSON.stringify(err));
720    return;
721  }
722  console.info('Operation successful.');
723});
724```
725
726## defaultAppMgr.resetDefaultApplication
727
728resetDefaultApplication(type: string, callback: AsyncCallback\<void>) : void
729
730以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用callback形式返回结果。
731
732**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
733
734**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
735
736**系统API:**  此接口为系统接口。
737
738**参数:**
739
740| 参数名         | 类型     | 必填   | 说明                                      |
741| ----------- | ------ | ---- | --------------------------------------- |
742| type  | string | 是    | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。       |
743| callback    | AsyncCallback\<void> | 是    | 程序启动作为入参的回调函数。                    |
744
745**错误码:**
746
747以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
748
749| 错误码ID | 错误信息                            |
750| -------- | ----------------------------------- |
751| 17700025 | The specified type is invalid.      |
752
753**示例:**
754
755```ts
756import defaultAppMgr from '@ohos.bundle.defaultAppManager';
757import { BusinessError } from '@ohos.base';
758
759defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err: BusinessError, data) => {
760  if (err) {
761    console.error('Operation failed. Cause: ' + JSON.stringify(err));
762    return;
763  }
764  console.info('Operation successful.');
765});
766
767defaultAppMgr.resetDefaultApplication("image/png", (err: BusinessError, data) => {
768  if (err) {
769    console.error('Operation failed. Cause: ' + JSON.stringify(err));
770    return;
771  }
772  console.info('Operation successful.');
773});
774```
775
776## defaultAppMgr.resetDefaultApplicationSync<sup>10+</sup>
777
778resetDefaultApplicationSync(type: string, userId?: number): void
779
780以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用。
781
782**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
783
784**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp
785
786**系统API:**  此接口为系统接口。
787
788**参数:**
789
790| 参数名 | 类型   | 必填 | 说明                                    |
791| ------ | ------ | ---- | --------------------------------------- |
792| type   | string | 是   | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。|
793| userId | number | 否   | 用户ID。默认值:调用方所在用户。                           |
794
795**错误码:**
796
797以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。
798
799| 错误码ID | 错误信息                            |
800| -------- | ----------------------------------- |
801| 17700004 | The specified user ID is not found. |
802| 17700025 | The specified type is invalid.      |
803
804**示例:**
805
806```ts
807import defaultAppMgr from '@ohos.bundle.defaultAppManager';
808
809let userId = 100;
810try {
811  defaultAppMgr.resetDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER, userId);
812  console.info('Operation successful.');
813} catch(error) {
814  console.error('Operation failed. Cause: ' + JSON.stringify(error));
815};
816
817try {
818  defaultAppMgr.resetDefaultApplicationSync("image/png", userId);
819  console.info('Operation successful.');
820} catch(error) {
821  console.error('Operation failed. Cause: ' + JSON.stringify(error));
822};
823```