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```