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