1# @ohos.bundle.defaultAppManager (默认应用管理) 2 3本模块提供查询默认应用的能力,支持查询当前应用是否是默认应用。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import { defaultAppManager } from '@kit.AbilityKit'; 13``` 14 15## defaultAppManager.ApplicationType 16 17默认应用的应用类型。 18 19**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp 20 21| 名称 | 值 | 说明 | 22| -------- | -------------------------------------- | -------------------------------------- | 23| BROWSER | 'Web Browser' | 默认浏览器。 | 24| IMAGE | 'Image Gallery' | 默认图片查看器。 | 25| AUDIO | 'Audio Player' | 默认音频播放器。 | 26| VIDEO | 'Video Player' | 默认视频播放器。 | 27| PDF | 'PDF Viewer' | 默认PDF文档查看器。 | 28| WORD | 'Word Viewer' | 默认WORD文档查看器。 | 29| EXCEL | 'Excel Viewer' | 默认EXCEL文档查看器。 | 30| PPT | 'PPT Viewer' | 默认PPT文档查看器。 | 31| EMAIL<sup>12+</sup> | 'Email' | 默认邮件。 | 32 33## defaultAppManager.isDefaultApplication 34 35isDefaultApplication(type: string): Promise\<boolean> 36 37以异步方法根据系统已定义的应用类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型判断当前应用是否是该类型的默认应用,使用Promise形式返回结果。 38 39**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp 40 41**参数:** 42 43| 参数名 | 类型 | 必填 | 说明 | 44| ----------- | ------ | ---- | --------------------------------------- | 45| type | string | 是 | 要查询的应用类型,取[ApplicationType](#defaultappmanagerapplicationtype)或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型中的值。 | 46 47**返回值:** 48 49| 类型 | 说明 | 50| ------------------------- | ------------------ | 51| Promise\<boolean> | Promise形式返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 | 52 53**错误码:** 54 55以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 56 57| 错误码ID | 错误信息 | 58| -------- | ---------------------------------------------------------- | 59| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 60| 801 | Capability not supported. | 61 62**示例:** 63 64```ts 65import { defaultAppManager } from '@kit.AbilityKit'; 66import { BusinessError } from '@kit.BasicServicesKit'; 67 68defaultAppManager.isDefaultApplication(defaultAppManager.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## defaultAppManager.isDefaultApplication 77 78isDefaultApplication(type: string, callback: AsyncCallback\<boolean>): void 79 80以异步方法根据系统已定义的应用类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型判断当前应用是否是该类型的默认应用,使用callback形式返回结果。 81 82**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp 83 84**参数:** 85 86| 参数名 | 类型 | 必填 | 说明 | 87| ----------- | ------------------------------- | ---- | --------------------------------------- | 88| type | string | 是 | 要查询的应用类型,取[ApplicationType](#defaultappmanagerapplicationtype)或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型中的值。 | 89| callback | AsyncCallback\<boolean> | 是 | 程序启动作为入参的回调函数,返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 | 90 91**错误码:** 92 93以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 94 95| 错误码ID | 错误信息 | 96| -------- | ---------------------------------------------------------- | 97| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 98| 801 | Capability not supported. | 99 100**示例:** 101 102```ts 103import { defaultAppManager } from '@kit.AbilityKit'; 104import { BusinessError } from '@kit.BasicServicesKit'; 105 106defaultAppManager.isDefaultApplication(defaultAppManager.ApplicationType.BROWSER, (err: BusinessError, data) => { 107 if (err) { 108 console.error('Operation failed. Cause: ' + JSON.stringify(err)); 109 return; 110 } 111 console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data)); 112}); 113``` 114 115## defaultAppManager.isDefaultApplicationSync<sup>10+</sup> 116 117isDefaultApplicationSync(type: string): boolean 118 119以同步方法根据系统已定义的应用类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型判断当前应用是否是该类型的默认应用,使用boolean形式返回结果。 120 121**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp 122 123**参数:** 124 125| 参数名 | 类型 | 必填 | 说明 | 126| -------| ------ | ---- | --------------------------------------- | 127| type | string | 是 | 要查询的应用类型,取[ApplicationType](#defaultappmanagerapplicationtype)或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型中的值。 | 128 129**返回值:** 130 131| 类型 | 说明 | 132| ------- | -------------------- | 133| boolean | 返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 | 134 135**错误码:** 136 137以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 138 139| 错误码ID | 错误信息 | 140| -------- | ---------------------------------------------------------- | 141| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 142| 801 | Capability not supported. | 143 144**示例:** 145 146```ts 147import { defaultAppManager } from '@kit.AbilityKit'; 148 149try { 150 let data = defaultAppManager.isDefaultApplicationSync(defaultAppManager.ApplicationType.BROWSER) 151 console.info('Operation successful. IsDefaultApplicationSync ? ' + JSON.stringify(data)); 152} catch(error) { 153 console.error('Operation failed. Cause: ' + JSON.stringify(error)); 154}; 155```