From cb915e2811d0483ee03e9791a19764bb01474688 Mon Sep 17 00:00:00 2001 From: SoftSquirrel Date: Wed, 29 Jun 2022 16:48:36 +0800 Subject: [PATCH] #I5ENEP: #I5E3WQ: add default application doc, system api. Description: add default application doc, system api. Sig: SIG_ApplicaitonFramework Feature or Bugfix: Feature Binary Source: No Signed-off-by: SoftSquirrel --- .../apis/js-apis-bundle-ElementName.md | 17 + .../apis/js-apis-bundle-defaultAppManager.md | 303 +++++++++++++++++- 2 files changed, 317 insertions(+), 3 deletions(-) create mode 100644 zh-cn/application-dev/reference/apis/js-apis-bundle-ElementName.md diff --git a/zh-cn/application-dev/reference/apis/js-apis-bundle-ElementName.md b/zh-cn/application-dev/reference/apis/js-apis-bundle-ElementName.md new file mode 100644 index 0000000000..fea888cc50 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-bundle-ElementName.md @@ -0,0 +1,17 @@ +# ElementName + +**说明:** +> 本模块首批接口从API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +ElementName信息 + + **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| --------------------- | -------------------------------------------------------- | ---- | ---- | ----------------------------------------- | +| deviceId | string | 是 | 是 | 设备id | +| bundleName | string | 是 | 是 | 应用包名 | +| abilityName | string | 是 | 是 | Ability名称 | +| uri | string | 是 | 是 | 资源标识符 | +| shortName | string | 是 | 是 | Ability简称 | +| moduleName9+ | string | 是 | 是 | Ability所属的HAP包的名称 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-bundle-defaultAppManager.md b/zh-cn/application-dev/reference/apis/js-apis-bundle-defaultAppManager.md index a0b7445e01..5816f8eada 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-bundle-defaultAppManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-bundle-defaultAppManager.md @@ -15,7 +15,6 @@ import defaultAppMgr from '@ohos.bundle.defaultAppManager' 应用类型 **系统能力:** - SystemCapability.BundleManager.BundleFramework | 名称 | 类型 | 说明 | @@ -36,7 +35,6 @@ isDefaultApplication(type: string): Promise\ 以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用Promise形式返回结果。 **系统能力:** - SystemCapability.BundleManager.BundleFramework **参数:** @@ -69,7 +67,6 @@ isDefaultApplication(type: string, callback: AsyncCallback\): void 以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用callback形式返回结果。 **系统能力:** - SystemCapability.BundleManager.BundleFramework **参数:** @@ -175,3 +172,303 @@ defaultAppMgr.getDefaultApplication("image/png", 100, (err, data) => { console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); }); ``` + +## defaultAppMgr.getDefaultApplication + +getDefaultApplication(type: string, callback: AsyncCallback\) : void + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型获取默认应用信息,使用callback形式返回结果。 + +**需要权限:** +ohos.permission.GET_DEFAULT_APPLICATION + +**系统能力:** +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要查询的默认应用名称,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| callback | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是 | 程序启动作为入参的回调函数,返回包信息。 | + +**示例:** + +```js +defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); +}); + +defaultAppMgr.getDefaultApplication("image/png", (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. bundleInfo:' + JSON.stringify(data)); +}); +``` + +## defaultAppMgr.setDefaultApplication + +setDefaultApplication(type: string, elementName: ElementName, userId?: number): Promise\ + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用。 + +**需要权限:** +ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要设置的默认应用名称,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | +| userId | number | 否 | 用户ID。默认值:调用方所在用户。 | + +**示例:** + +```js +defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, { + bundleName: "com.test.app", + moduleName: "module01", + abilityName: "MainAbility" +}) +.then((data) => { + console.info('Operation successful.'); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); + +defaultAppMgr.setDefaultApplication("image/png", { + bundleName: "com.test.app", + moduleName: "module01", + abilityName: "MainAbility" +}) +.then((data) => { + console.info('Operation successful.'); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); +``` + +## defaultAppMgr.setDefaultApplication + +setDefaultApplication(type: string, elementName: ElementName, userId: number, callback: AsyncCallback\) : void; + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用。 + +**需要权限:** +ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要设置的默认应用名称,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | +| userId | number | 是 | 用户ID。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | + +**示例:** + +```js +defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, { + bundleName: "com.test.app", + moduleName: "module01", + abilityName: "MainAbility" +}, 100, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); + }); + +defaultAppMgr.setDefaultApplication("image/png", { + bundleName: "com.test.app", + moduleName: "module01", + abilityName: "MainAbility" +}, 100, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); + }); +``` + +## defaultAppMgr.setDefaultApplication + +setDefaultApplication(type: string, elementName: ElementName, callback: AsyncCallback\) : void; + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用。 + +**需要权限:** +ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要设置的默认应用名称,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | + +**示例:** + +```js +defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, { + bundleName: "com.test.app", + moduleName: "module01", + abilityName: "MainAbility" +}, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); + }); + +defaultAppMgr.setDefaultApplication("image/png", { + bundleName: "com.test.app", + moduleName: "module01", + abilityName: "MainAbility" +}, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); + }); +``` + +## defaultAppMgr.resetDefaultApplication + +resetDefaultApplication(type: string, userId?: number): Promise\ + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用。 + +**需要权限:** +ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要设置的默认应用名称,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| userId | number | 否 | 用户ID。默认值:调用方所在用户。 | + +**示例:** + +```js +defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER) +.then((data) => { + console.info('Operation successful.'); +}) +.catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); + +defaultAppMgr.resetDefaultApplication("image/png") +.then((data) => { + console.info('Operation successful.'); +}) +.catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}); +``` + +## defaultAppMgr.resetDefaultApplication + +resetDefaultApplication(type: string, userId: number, callback: AsyncCallback\) : void; + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用。 + +**需要权限:** +ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要设置的默认应用名称,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| userId | number | 是 | 用户ID。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | + +**示例:** + +```js +defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, 100, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); +}); + +defaultAppMgr.resetDefaultApplication("image/png", 100, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful.'); +}); +``` + +## defaultAppMgr.resetDefaultApplication + +resetDefaultApplication(type: string, callback: AsyncCallback\) : void; + +以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型重置默认应用。 + +**需要权限:** +ohos.permission.SET_DEFAULT_APPLICATION + +**系统能力:** +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------- | +| type | string | 是 | 要设置的默认应用名称,取[ApplicationType](#defaultappmgrapplicationtype)中的值,或者符合媒体类型格式的文件类型。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数。 | + +**示例:** + +```js +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.'); +}); +``` \ No newline at end of file -- GitLab