@ohos.bundle.defaultAppManager (默认应用管理)(系统接口)
本模块提供查询,设置和重置默认应用的能力,支持查询当前应用是否是默认应用。
说明:
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
当前页面仅包含本模块的系统接口,其他公开接口参见@ohos.bundle.defaultAppManager。
导入模块
import { defaultAppManager } from '@kit.AbilityKit';
defaultAppManager.getDefaultApplication
getDefaultApplication(type: string, userId?: number): Promise<BundleInfo>
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型获取默认应用信息。使用Promise异步回调。
需要权限: ohos.permission.GET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要查询的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| userId | number | 否 | 表示用户ID,可以通过getOsAccountLocalId接口获取。默认值:调用方所在用户。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<BundleInfo> | Promise对象,返回默认应用包信息。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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<BundleInfo>) : void
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型获取默认应用信息。使用callback异步回调。
需要权限: ohos.permission.GET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要查询的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| userId | number | 是 | 表示用户ID,可以通过getOsAccountLocalId接口获取。 |
| callback | AsyncCallback<BundleInfo> | 是 | 回调函数,当获取成功时,err为null,data为获取到的应用信息;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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<BundleInfo>) : void
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型获取默认应用信息。使用callback异步回调。
需要权限: ohos.permission.GET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要查询的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| callback | AsyncCallback<BundleInfo> | 是 | 回调函数,当获取成功时,err为null,data为获取到的应用信息;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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类型获取默认应用信息,使用BundleInfo返回结果。
需要权限: ohos.permission.GET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要查询的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| userId | number | 否 | 表示用户ID,可以通过getOsAccountLocalId接口获取。默认值:调用方所在用户。 |
返回值:
| 类型 | 说明 |
|---|---|
| BundleInfo | 返回的默认应用包信息。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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<void>
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型设置默认应用。使用Promise异步回调。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要设置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| elementName | ElementName | 是 | 要设置为默认应用的组件信息。 |
| userId | number | 否 | 表示用户ID,可以通过getOsAccountLocalId接口获取。默认值:调用方所在用户。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象,无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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>) : void
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型设置默认应用。使用callback异步回调。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要设置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| elementName | ElementName | 是 | 要设置为默认应用的组件信息。 |
| userId | number | 是 | 表示用户ID,可以通过getOsAccountLocalId接口获取。 |
| callback | AsyncCallback<void> | 是 | 回调函数,当设置默认应用成功时,err返回null。否则回调函数返回具体错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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>) : void
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型设置默认应用。使用callback异步回调。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要设置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| elementName | ElementName | 是 | 要设置为默认应用的组件信息。 |
| callback | AsyncCallback<void> | 是 | 回调函数,当设置默认应用成功时,err返回null。否则回调函数返回具体错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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类型设置默认应用。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要设置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| elementName | ElementName | 是 | 要设置为默认应用的组件信息。 |
| userId | number | 否 | 表示用户ID,可以通过getOsAccountLocalId接口获取。默认值:调用方所在用户。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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<void>
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型重置默认应用。使用Promise异步回调。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要重置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| userId | number | 否 | 表示用户ID,可以通过getOsAccountLocalId接口获取。默认值:调用方所在用户。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象,无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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>) : void
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型重置默认应用。使用callback异步回调。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要重置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| userId | number | 是 | 表示用户ID,可以通过getOsAccountLocalId接口获取。 |
| callback | AsyncCallback<void> | 是 | 回调函数,当重置默认应用成功时,err返回null。否则回调函数返回具体错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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>) : void
根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型或者UniformDataType类型重置默认应用。使用callback异步回调。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要重置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| callback | AsyncCallback<void> | 是 | 回调函数,当重置默认应用成功时,err返回null。否则回调函数返回具体错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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类型重置默认应用。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要重置的应用类型,取ApplicationType中的值,或者符合媒体类型格式的文件类型,或者UniformDataType类型。 |
| userId | number | 否 | 表示用户ID,可以通过getOsAccountLocalId接口获取。默认值:调用方所在用户。 |
错误码:
以下错误码的详细介绍请参见通用错误码和ohos.bundle错误码。
| 错误码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. |
示例:
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));
};
defaultAppManager.setDefaultApplicationForAppClone23+
setDefaultApplicationForAppClone(type: string, elementName: ElementName, appIndex: number, userId?: number): void
以同步方法将分身应用设置为打开相应type类型的默认应用。
需要权限: ohos.permission.SET_DEFAULT_APPLICATION 或 (ohos.permission.SET_DEFAULT_APPLICATION 和 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS)
- 当userId为当前用户时,需要申请ohos.permission.SET_DEFAULT_APPLICATION。
- 当userId不是当前用户时,需要同时申请ohos.permission.SET_DEFAULT_APPLICATION 和 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS。
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
系统接口: 此接口为系统接口。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 要设置的应用类型,支持取值包括:ApplicationType中的值、MIMEType类型、或UniformDataType类型。 |
| elementName | ElementName | 是 | 要设置为默认应用的组件信息,仅使用其中的bundleName、abilityName、moduleName属性,且三个属性必须设置。 |
| appIndex | number | 是 | 表示分身应用的索引。 取值范围:1、2、3、4、5。 |
| userId | number | 否 | 表示用户ID,可以通过getOsAccountLocalId接口获取。 默认值:调用方所在用户Id。 |
错误码:
以下错误码的详细介绍请参见通用错误码和包管理子系统通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Permission denied. A non-system application is not allowed to call a system API. |
| 801 | Capability not supported. |
| 17700004 | The specified user id is not found. |
| 17700025 | The specified type is invalid. |
| 17700028 | The specified ability and type do not match. |
| 17700061 | The specified app index is invalid. |
示例:
import { defaultAppManager } from '@kit.AbilityKit';
import { uniformTypeDescriptor } from '@kit.ArkData';
let appIndex = 1;
try {
defaultAppManager.setDefaultApplicationForAppClone(defaultAppManager.ApplicationType.BROWSER, {
// 请开发者替换为实际的bundleName、moduleName和abilityName
bundleName: "com.example.myapplication",
moduleName: "module01",
abilityName: "EntryAbility"
}, appIndex);
console.info('Operation successful.');
} catch (error) {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
};
let userId = 100;
try {
defaultAppManager.setDefaultApplicationForAppClone(defaultAppManager.ApplicationType.BROWSER, {
// 请开发者替换为实际的bundleName、moduleName和abilityName
bundleName: "com.example.myapplication",
moduleName: "module01",
abilityName: "EntryAbility"
}, appIndex, userId);
console.info('Operation successful.');
} catch (error) {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
};
try {
defaultAppManager.setDefaultApplicationForAppClone("image/png", {
// 请开发者替换为实际的bundleName、moduleName和abilityName
bundleName: "com.example.myapplication",
moduleName: "module01",
abilityName: "EntryAbility"
}, appIndex, userId);
console.info('Operation successful.');
} catch (error) {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
};
try {
defaultAppManager.setDefaultApplicationForAppClone(uniformTypeDescriptor.UniformDataType.AVI, {
// 请开发者替换为实际的bundleName、moduleName和abilityName
bundleName: "com.example.myapplication",
moduleName: "module01",
abilityName: "EntryAbility"
}, appIndex, userId);
console.info('Operation successful.');
} catch (error) {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
};