From fc66788e08cf3ee1777b96d8d39639b51be2891e Mon Sep 17 00:00:00 2001 From: Lotol Date: Wed, 23 Aug 2023 02:10:32 +0000 Subject: [PATCH] update zh-cn/application-dev/reference/apis/js-apis-defaultAppManager.md. Signed-off-by: Lotol --- .../apis/js-apis-defaultAppManager.md | 259 ++++++++++++++++++ 1 file changed, 259 insertions(+) diff --git a/zh-cn/application-dev/reference/apis/js-apis-defaultAppManager.md b/zh-cn/application-dev/reference/apis/js-apis-defaultAppManager.md index acd9556717..5166ac7c45 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-defaultAppManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-defaultAppManager.md @@ -593,4 +593,263 @@ defaultAppMgr.resetDefaultApplication("image/png", (err, data) => { } console.info('Operation successful.'); }); +``` + +## defaultAppMgr.resetDefaultApplication + +resetDefaultApplication(type: string, callback: AsyncCallback\) : void; + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用callback形式返回结果。 + +**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp + +**系统API:** 此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| -------- | ----------------------------------- | +| 17700025 | The specified type is invalid. | + +**示例:** + +```ts +import defaultAppMgr from '@ohos.bundle.defaultAppManager'; +defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); +}); + +defaultAppMgr.resetDefaultApplication("image/png", (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); +}); +``` + +## defaultAppMgr.isDefaultApplicationSync + +isDefaultApplication(type: string): boolean + +以同步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用boolean形式返回结果。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------| ------ | ---- | --------------------------------------- | +| type | string | 是 | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------- | -------------------- | +| boolean | Promise形式返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 | + + +**示例:** + +```ts +import defaultAppMgr from '@ohos.bundle.defaultAppManager'; +defaultAppMgr.isDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER) +.then((data) => { + console.info('Operation successful. IsDefaultApplicationSync ? ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); +``` + +## defaultAppMgr.getDefaultApplicationSync + +getDefaultApplicationSync(type: string, userId?: number): [BundleInfo] + +以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用BundleInfo返回结果。 + +**需要权限:** ohos.permission.GET_DEFAULT_APPLICATION + +**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp + +**系统API:** 此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------| ------ | ---- | --------------------------------------- | +| type | string | 是 | 要查询的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。| +| userId | number | 否 | 用户ID。默认值:调用方所在用户。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------------------------ | -------------------- | +| [BundleInfo](js-apis-bundle-BundleInfo.md) | 返回的默认应用包信息。| + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| -------- | ----------------------------------------- | +| 17700004 | The specified user ID is not found. | +| 17700023 | The specified default app does not exist. | +| 17700025 | The specified type is invalid. | + +**示例:** + +```ts +import defaultAppMgr from '@ohos.bundle.defaultAppManager'; +defaultAppMgr.getDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER) +.then((data) => { + console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); +}) +.catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); + +defaultAppMgr.getDefaultApplicationSync("image/png") +.then((data) => { + console.info('Operation successful. bundleInfo: ' + JSON.stringify(data)); +}) +.catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); +``` + +## defaultAppMgr.setDefaultApplicationSync + +setDefaultApplicationSync(type: string, elementName: ElementName, userId?: number): [void] + +以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,返回undefined。 + +**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp + +**系统API:** 此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要设置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。| +| elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | +| userId | number | 否 | 用户ID。默认值:调用方所在用户。 | + +**返回值:** + +| 类型 | 说明 | +| ------ | ---------------------------------- | +| void | undefined对象,无返回结果的undefined对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| -------- | ---------------------------------------------- | +| 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 defaultAppMgr from '@ohos.bundle.defaultAppManager'; +defaultAppMgr.setDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER, { + bundleName: "com.example.myapplication", + moduleName: "module01", + abilityName: "EntryAbility" +}).then((data) => { + console.info('Operation successful.'); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); + +let userId = 100; +defaultAppMgr.setDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER, { + bundleName: "com.example.myapplication", + moduleName: "module01", + abilityName: "EntryAbility" +}, userId).then((data) => { + console.info('Operation successful.'); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); + +defaultAppMgr.setDefaultApplicationSync("image/png", { + bundleName: "com.example.myapplication", + moduleName: "module01", + abilityName: "EntryAbility" +}, userId).then((data) => { + console.info('Operation successful.'); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); +``` + +## defaultAppMgr.resetDefaultApplicationSync + +resetDefaultApplicationSync(type: string, userId?: number): [void] + +以同步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用,使用undefined形式返回结果。 + +**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultApp + +**系统API:** 此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要重置的应用类型,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。| +| userId | number | 否 | 用户ID。默认值:调用方所在用户。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| -------- | ----------------------------------- | +| 17700004 | The specified user ID is not found. | +| 17700025 | The specified type is invalid. | + +**示例:** + +```ts +import defaultAppMgr from '@ohos.bundle.defaultAppManager'; +let userId = 100; +defaultAppMgr.resetDefaultApplicationSync(defaultAppMgr.ApplicationType.BROWSER, userId) +.then((data) => { + console.info('Operation successful.'); +}) +.catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); + +defaultAppMgr.resetDefaultApplicationSync("image/png", userId) +.then((data) => { + console.info('Operation successful.'); +}) +.catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); ``` \ No newline at end of file -- GitLab