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