# @ohos.bundle.defaultAppManager (默认应用管理)(系统接口) 本模块提供查询默认应用的能力,支持查询当前应用是否是默认应用。 > **说明:** > > 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > > 当前页面仅包含本模块的系统接口,其他公开接口参见[`@ohos.bundle.defaultAppManager`](js-apis-defaultAppManager.md)。 ## 导入模块 ```ts import { defaultAppManager } from '@kit.AbilityKit'; ``` ## 权限列表 | 权限 | 权限等级 | 描述 | | --------------------------------------- | ----------- | ---------------- | | ohos.permission.GET_DEFAULT_APPLICATION | system_core | 默认应用相关权限。 | 权限等级参考[权限APL等级说明](../../security/AccessToken/app-permission-mgmt-overview.md#权限机制中的基本概念)。 ## defaultAppManager.getDefaultApplication getDefaultApplication(type: string, userId?: number): Promise\ 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型获取默认应用信息,使用Promise形式返回结果。 **需要权限:** ohos.permission.GET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要查询的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | userId | number | 否 | 用户ID。默认值:调用方所在用户。 | **返回值:** | 类型 | 说明 | | ------------------------- | ------------------ | | Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | Promise形式返回默认应用包信息。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700023 | The specified default app does not exist. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; defaultAppManager.getDefaultApplication(defaultAppManager.ApplicationType.BROWSER) .then((data) => { console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); }) .catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); defaultAppManager.getDefaultApplication("image/png") .then((data) => { console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); }) .catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); defaultAppManager.getDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI) .then((data) => { console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); }) .catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); ``` ## defaultAppManager.getDefaultApplication getDefaultApplication(type: string, userId: number, callback: AsyncCallback\) : void 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型获取默认应用信息,使用callback形式返回结果。 **需要权限:** ohos.permission.GET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要查询的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | userId | number | 是 | 用户ID。 | | callback | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是 | 程序启动作为入参的回调函数,返回包信息。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700023 | The specified default app does not exist. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; let userId = 100; defaultAppManager.getDefaultApplication(defaultAppManager.ApplicationType.BROWSER, userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); }); defaultAppManager.getDefaultApplication("image/png", userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); }); defaultAppManager.getDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); }); ``` ## defaultAppManager.getDefaultApplication getDefaultApplication(type: string, callback: AsyncCallback\) : void 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型获取默认应用信息,使用callback形式返回结果。 **需要权限:** ohos.permission.GET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要查询的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | callback | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是 | 程序启动作为入参的回调函数,返回包信息。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700023 | The specified default app does not exist. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; defaultAppManager.getDefaultApplication(defaultAppManager.ApplicationType.BROWSER, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); }); defaultAppManager.getDefaultApplication("image/png", (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); }); defaultAppManager.getDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); }); ``` ## defaultAppManager.getDefaultApplicationSync10+ getDefaultApplicationSync(type: string, userId?: number): BundleInfo 以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型获取默认应用信息,使用BundleInfo返回结果。 **需要权限:** ohos.permission.GET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------| ------ | ---- | --------------------------------------- | | type | string | 是 | 要查询的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。| | userId | number | 否 | 用户ID。默认值:调用方所在用户。 | **返回值:** | 类型 | 说明 | | ------------------------------------------ | -------------------- | | [BundleInfo](js-apis-bundle-BundleInfo.md) | 返回的默认应用包信息。| **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700023 | The specified default app does not exist. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; try { let data = defaultAppManager.getDefaultApplicationSync(defaultAppManager.ApplicationType.BROWSER) console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; try { let data = defaultAppManager.getDefaultApplicationSync("image/png") console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; try { let data = defaultAppManager.getDefaultApplicationSync(uniformTypeDescriptor.UniformDataType.AVI) console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; ``` ## defaultAppManager.setDefaultApplication setDefaultApplication(type: string, elementName: ElementName, userId?: number): Promise\ 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型设置默认应用,使用Promise形式返回结果。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要设置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | | userId | number | 否 | 用户ID。默认值:调用方所在用户。 | **返回值:** | 类型 | 说明 | | -------------- | ---------------------------------- | | Promise\ | Promise对象,无返回结果的Promise对象。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700025 | The specified type is invalid. | | 17700028 | The specified ability does not match the type. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; defaultAppManager.setDefaultApplication(defaultAppManager.ApplicationType.BROWSER, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }).then((data) => { console.info('Operation successful.'); }).catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); let userId = 100; defaultAppManager.setDefaultApplication(defaultAppManager.ApplicationType.BROWSER, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId).then((data) => { console.info('Operation successful.'); }).catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); defaultAppManager.setDefaultApplication("image/png", { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId).then((data) => { console.info('Operation successful.'); }).catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); defaultAppManager.setDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId).then((data) => { console.info('Operation successful.'); }).catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); ``` ## defaultAppManager.setDefaultApplication setDefaultApplication(type: string, elementName: ElementName, userId: number, callback: AsyncCallback\) : void 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型设置默认应用,使用callback形式返回结果。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要设置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | | userId | number | 是 | 用户ID。 | | callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700025 | The specified type is invalid. | | 17700028 | The specified ability does not match the type. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; let userId = 100; defaultAppManager.setDefaultApplication(defaultAppManager.ApplicationType.BROWSER, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.setDefaultApplication("image/png", { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.setDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); ``` ## defaultAppManager.setDefaultApplication setDefaultApplication(type: string, elementName: ElementName, callback: AsyncCallback\) : void 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型设置默认应用,使用callback形式返回结果。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要设置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | | callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700025 | The specified type is invalid. | | 17700028 | The specified ability does not match the type. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; defaultAppManager.setDefaultApplication(defaultAppManager.ApplicationType.BROWSER, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.setDefaultApplication("image/png", { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.setDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); ``` ## defaultAppManager.setDefaultApplicationSync10+ setDefaultApplicationSync(type: string, elementName: ElementName, userId?: number): void 以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型设置默认应用。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要设置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。| | elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | | userId | number | 否 | 用户ID。默认值:调用方所在用户。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700025 | The specified type is invalid. | | 17700028 | The specified ability does not match the type. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; try { defaultAppManager.setDefaultApplicationSync(defaultAppManager.ApplicationType.BROWSER, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }); console.info('Operation successful.'); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; let userId = 100; try { defaultAppManager.setDefaultApplicationSync(defaultAppManager.ApplicationType.BROWSER, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId); console.info('Operation successful.'); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; try { defaultAppManager.setDefaultApplicationSync("image/png", { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId); console.info('Operation successful.'); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; try { defaultAppManager.setDefaultApplicationSync(uniformTypeDescriptor.UniformDataType.AVI, { bundleName: "com.example.myapplication", moduleName: "module01", abilityName: "EntryAbility" }, userId); console.info('Operation successful.'); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; ``` ## defaultAppManager.resetDefaultApplication resetDefaultApplication(type: string, userId?: number): Promise\ 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型重置默认应用,使用Promise形式返回结果。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要重置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | userId | number | 否 | 用户ID。默认值:调用方所在用户。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; let userId = 100; defaultAppManager.resetDefaultApplication(defaultAppManager.ApplicationType.BROWSER, userId) .then((data) => { console.info('Operation successful.'); }) .catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); defaultAppManager.resetDefaultApplication("image/png", userId) .then((data) => { console.info('Operation successful.'); }) .catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); defaultAppManager.resetDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, userId) .then((data) => { console.info('Operation successful.'); }) .catch((error: BusinessError) => { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }); ``` ## defaultAppManager.resetDefaultApplication resetDefaultApplication(type: string, userId: number, callback: AsyncCallback\) : void 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型重置默认应用,使用callback形式返回结果。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要重置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | userId | number | 是 | 用户ID。 | | callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; let userId = 100; defaultAppManager.resetDefaultApplication(defaultAppManager.ApplicationType.BROWSER, userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.resetDefaultApplication("image/png", userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.resetDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, userId, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); ``` ## defaultAppManager.resetDefaultApplication resetDefaultApplication(type: string, callback: AsyncCallback\) : void 以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型重置默认应用,使用callback形式返回结果。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------ | ---- | --------------------------------------- | | type | string | 是 | 要重置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。 | | callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; defaultAppManager.resetDefaultApplication(defaultAppManager.ApplicationType.BROWSER, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.resetDefaultApplication("image/png", (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); defaultAppManager.resetDefaultApplication(uniformTypeDescriptor.UniformDataType.AVI, (err: BusinessError, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); return; } console.info('Operation successful.'); }); ``` ## defaultAppManager.resetDefaultApplicationSync10+ resetDefaultApplicationSync(type: string, userId?: number): void 以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型重置默认应用。 **需要权限:** ohos.permission.SET_DEFAULT_APPLICATION **系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp **系统接口:** 此接口为系统接口。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | --------------------------------------- | | type | string | 是 | 要重置的应用类型,取[ApplicationType](js-apis-defaultAppManager.md#defaultappmanagerapplicationtype)中的值,或者符合媒体类型格式的文件类型,或者[UniformDataType](../apis-arkdata/js-apis-data-uniformTypeDescriptor.md)类型。| | userId | number | 否 | 用户ID。默认值:调用方所在用户。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 | 错误码ID | 错误信息 | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Permission denied, non-system app called system api. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| | 801 | Capability not supported. | | 17700004 | The specified user ID is not found. | | 17700025 | The specified type is invalid. | **示例:** ```ts import { defaultAppManager } from '@kit.AbilityKit'; import { uniformTypeDescriptor } from '@kit.ArkData'; let userId = 100; try { defaultAppManager.resetDefaultApplicationSync(defaultAppManager.ApplicationType.BROWSER, userId); console.info('Operation successful.'); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; try { defaultAppManager.resetDefaultApplicationSync("image/png", userId); console.info('Operation successful.'); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; try { defaultAppManager.resetDefaultApplicationSync(uniformTypeDescriptor.UniformDataType.AVI, userId); console.info('Operation successful.'); } catch(error) { console.error('Operation failed. Cause: ' + JSON.stringify(error)); }; ```