diff --git a/zh-cn/application-dev/reference/apis/js-apis-bundleManager-overlayModuleInfo.md b/zh-cn/application-dev/reference/apis/js-apis-bundleManager-overlayModuleInfo.md new file mode 100755 index 0000000000000000000000000000000000000000..aaf0668397c0db56c7e0a0ff22eabab2325fc20d --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-bundleManager-overlayModuleInfo.md @@ -0,0 +1,18 @@ +# OverlayModuleInfo + +> **说明:** +> 本模块首批接口从API version 10 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +OverlayModuleInfo信息,系统应用可以通过[overlay.getOverlayModuleInfoByBundleName](js-apis-overlay.md#overlaygetoverlaymoduleinfobybundlename)获取指定应用的overlay特征module的OverlayModuleInfo信息,三方应用可以通过[overlay.getOverlayModuleInfo](js-apis-overlay.md#overlaygetoverlaymoduleinfo)获取当前应用中overlay特征module的OverlayModuleInfo信息。 + +## OverlayModuleInfo + + **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Overlay。 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| --------------------- | ---------------------------------------------------| ---- | ---- | ---------------------------------------------- | +| bundleName | string | 是 | 否 | overlay特征module所属的应用的bundle名称。 | +| moduleName | string | 是 | 否 | overlay特征module的HAP名称。 | +| targetModuleName | string | 是 | 否 | overlay特征module指定的目标module的HAP名称。 | +| priority | number | 是 | 否 | overlay特征module的优先级。 | +| state | number | 是 | 否 | overlay特征module的禁用使能状态。0代表禁用状态; 1代表使能状态。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-overlay.md b/zh-cn/application-dev/reference/apis/js-apis-overlay.md new file mode 100755 index 0000000000000000000000000000000000000000..0d14da22d3ec2677e626d7f086242ad5af5ca3d5 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-overlay.md @@ -0,0 +1,693 @@ +# @ohos.bundle.overlay (overlay模块) + +本模块提供[overlay特征应用](#overlay特征应用介绍)的安装,overlay特征应用的[OverlayModuleInfo](js-apis-bundleManager-overlayModuleInfo.md)信息的查询以及overlay特征应用的禁用使能的能力。 + +> **说明:** +> +> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +本模块接口为系统接口。 + +## 导入模块 + +``` ts +import overlay from '@ohos.bundle.overlay' +``` + +## overlay.setOverlayEnabled + +setOverlayEnabled(moduleName:string, isEnabled: boolean): Promise\; + +以异步方法设置当前应用中overlay特征module的禁用使能状态。使用Promise异步回调。成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| moduleName | string | 是 | overlay特征module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\ | Promise对象。无返回结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature"; +var isEnabled = false; + +try { + overlay.setOverlayEnabled(moduleName, isEnabled) + .then(() => { + console.info('setOverlayEnabled success'); + }).catch((error) => { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + }); +} catch (error) { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.setOverlayEnabled + +setOverlayEnabled(moduleName:string, isEnabled: boolean, callback: AsyncCallback\): void; + +以异步方法设置当前应用中overlay module的禁用使能状态。使用callback异步回调。成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| moduleName | string | 是 | overlay特征module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。| +| callback | AsyncCallback\ | 是 | 回调函数,当设置处置状态成功,err为undefined,否则为错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature"; +var isEnabled = false; + +try { + overlay.setOverlayEnabled(moduleName, isEnabled, (error, data) => { + if (error) { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + return; + } + console.info('setOverlayEnabled success'); + }); +} catch (error) { + console.info('setOverlayEnabled failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.setOverlayEnabledByBundleName + +setOverlayEnabledByBundleName(bundleName:string, moduleName:string, isEnabled: boolean): Promise\; + +以异步方法设置指定应用的overlay module的禁用使能状态。使用Promise异步回调,成功返回应用的处置状态,失败返回对应错误信息。 + +**需要权限:** ohos.permission.CHANGE_OVERLAY_ENABLED_STATE + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 是 | 指定应用的overlay module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\ | Promise对象。无返回结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found. | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" +var isEnabled = false; + +try { + overlay.setOverlayEnabledByBundleName(bundleName, moduleName, isEnabled) + .then((data) => { + console.info('setOverlayEnabledByBundleName successfully'); + }).catch((error) => { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + }); +} catch (error) { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.setOverlayEnabledByBundleName + +setOverlayEnabledByBundleName(bundleName:string, moduleName:string, isEnabled: boolean, callback: AsyncCallback\): void; + +以异步方法设置指定应用的overlay module的禁用使能状态。使用callback异步回调,成功返回应用的处置状态,失败返回对应错误信息。 + +**需要权限:** ohos.permission.CHANGE_OVERLAY_ENABLED_STATE + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 是 | 指定应用的overlay特征module的HAP名称。 | +| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | +| callback | AsyncCallback\ | 是 | 回调函数。当获取应用的处置状态成功时,err为undefined,data为获取到的处置状态;否则为错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found. | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" +var isEnabled = false; + +try { + overlay.setOverlayEnabledByBundleName(bundleName, moduleName, isEnabled, (error, data) => { + if (error) { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); + return; + } + console.info('setOverlayEnabledByBundleName successfully'); + }); +} catch (error) { + console.info('setOverlayEnabledByBundleName failed due to error code: ' + err.code + ' ' + 'message:' + err.message); +} +``` + +## overlay.getOverlayModuleInfo + +getOverlayModuleInfo(moduleName: string): Promise\; + +以异步方法获取当前应用中指定的module的overlayModuleInfo信息。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | ------------------------------------------ | +| moduleName | string | 是 | 指定当前应用中的overlay module的HAP名称。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\ | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature" + +(async() => { + try { + let overlayModuleInfo = await overlay.getOverlayModuleInfo(moduleName); + console.log('overlayModuleInfo is ' + JSON.stringify(overlayModuleInfo)); + } catch(err) { + console.log('getOverlayModuleInfo failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getOverlayModuleInfo + +getOverlayModuleInfo(moduleName: string, callback: AsyncCallback\): void; + +以异步方法获取当前应用中指定的module的overlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| moduleName | string | 是 | 指定当前应用中的overlay特征module的HAP名称。 | +| callback | AsyncCallback\ | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var moduleName = "feature" +try { + overlay.getOverlayModuleInfo(moduleName, (error, data) => { + if (error) { + console.log('getOverlayModuleInfo failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getOverlayModuleInfo failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getTargetOverlayModuleInfos + +getTargetOverlayModuleInfos(targetModuleName: string): Promise\>; + +以异步方法获取指定的目标module的OverlayModuleInfo。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetModuleName | string | 是 | 指定当前应用中的目标module的HAP名称。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\> | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | + +**示例:** + +```ts +var targetModuleName = "feature" + +(async() => { + try { + let overlayModuleInfos = await overlay.getTargetOverlayModuleInfos(targetModuleName); + console.log('overlayModuleInfos are ' + JSON.stringify(overlayModuleInfos)); + } catch(err) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getTargetOverlayModuleInfos + +getTargetOverlayModuleInfos(targetModuleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定的目标module的OverlayModuleInfo。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetModuleName | string | 是 | 指定当前应用中的目标module的HAP名称。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | + +**示例:** + +```ts +var targetModuleName = "feature" +try { + overlay.getTargetOverlayModuleInfos(targetModuleName, (error, data) => { + if (error) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getOverlayModuleInfoByBundleName + +getOverlayModuleInfoByBundleName(bundleName: string, moduleName?: string): Promise\>; + +以异步方法获取指定应用中指定module的OverlayModuleInfo信息。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 否 | 指定应用中的overlay module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module的OverlayModuleInfo信息。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\> | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +(async() => { + try { + let overlayModuleInfos = await overlay.getOverlayModuleInfoByBundleName(bundleName, moduleName); + console.log('overlayModuleInfos are ' + JSON.stringify(overlayModuleInfos)); + } catch(err) { + console.log('getTargetOverlayModuleInfos failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getOverlayModuleInfoByBundleName + +getOverlayModuleInfoByBundleName(bundleName: string, moduleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中指定module的OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| moduleName | string | 是 | 指定应用中的overlay module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module的OverlayModuleInfo信息。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +try { + overlay.getOverlayModuleInfoByBundleName(bundleName, moduleName, (error, data) => { + if (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getOverlayModuleInfoByBundleName + +getOverlayModuleInfoByBundleName(bundleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中所有module的OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| bundleName | string | 是 | 指定应用的bundle名称。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700032 | The specified bundleName does not contain any overlay module. | +| 17700033 | The specified moduleName is not overlay module. | + +**示例:** + +```ts +var bundleName = "com.example.myapplication_xxxxx"; + +try { + overlay.getOverlayModuleInfoByBundleName(bundleName, (error, data) => { + if (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getOverlayModuleInfoByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getTargetOverlayModuleInfosByBundleName + +getTargetOverlayModuleInfosByBundleName(targetBundleName: string, moduleName?: string): Promise\>; + +以异步方法获取指定应用中指定module关联的所有OverlayModuleInfo信息。使用promise异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetBundleName | string | 是 | 指定目标应用的bundle名称。 | +| moduleName | string | 否 | 指定应用中的目标module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module所关联的OverlayModuleInfo信息。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------------ | +| Promise\> | Promise对象,无返回结果的Promise对象 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | +| 17700035 | The specified bundleName is overlay bundle. | + +**示例:** + +```ts +var targetBundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +(async() => { + try { + let overlayModuleInfos = await overlay.getTargetOverlayModuleInfosByBundleName(targetBundleName, moduleName); + console.log('overlayModuleInfos are ' + JSON.stringify(overlayModuleInfos)); + } catch(err) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + } +})(); +``` + +## overlay.getTargetOverlayModuleInfosByBundleName + +getTargetOverlayModuleInfosByBundleName(targetBundleName: string, moduleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中指定module关联的所有OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetBundleName | string | 是 | 指定目标应用的bundle名称。 | +| moduleName | string | 否 | 指定应用中的目标module的HAP名称。缺省该字段时,查询接口将查询指定应用中所有module所关联的OverlayModuleInfo信息。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | +| 17700035 | The specified bundleName is overlay bundle. | + +**示例:** + +```ts +var targetBundleName = "com.example.myapplication_xxxxx"; +var moduleName = "feature" + +try { + overlay.getTargetOverlayModuleInfosByBundleName(targetBundleName, moduleName, (error, data) => { + if (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay.getTargetOverlayModuleInfosByBundleName + +getTargetOverlayModuleInfosByBundleName(targetBundleName: string, callback: AsyncCallback\>): void; + +以异步方法获取指定应用中所有module关联的所有OverlayModuleInfo信息。使用callback异步回调,成功返回null,失败返回对应错误信息。 + +**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED + +**系统能力:** SystemCapability.BundleManager.BundleFramework.Overlay + +**系统API:** 此接口为系统接口,三方应用不支持调用 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------ | ---- | --------------------------------------- | +| targetBundleName | string | 是 | 指定目标应用的bundle名称。 | +| callback | AsyncCallback\> | 是 | 回调函数,当设置处置状态成功时,err返回undefined。否则回调函数返回具体错误对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 + +| 错误码ID | 错误信息 | +| ------ | -------------------------------------- | +| 17700001 | The specified bundleName is not found | +| 17700002 | The specified moduleName is not existed. | +| 17700034 | The specified moduleName is overlay module. | +| 17700035 | The specified bundleName is overlay bundle. | + +**示例:** + +```ts +var targetBundleName = "com.example.myapplication_xxxxx"; + +try { + overlay.getTargetOverlayModuleInfosByBundleName(targetBundleName, (error, data) => { + if (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); + return; + } + console.log('overlayModuleInfo is ' + JSON.stringify(data)); + }); +} catch (error) { + console.log('getTargetOverlayModuleInfosByBundleName failed due to error code : ' + err.code + ' ' + 'message :' + err.message); +} +``` + +## overlay特征应用介绍 + +**概念** +overlay特征应用指的是应用中包含有overlay特征的module。该特征module一般是为设备上存在的非overlay特征的module提供额外的资源文件,以便于目标module在运行阶段可以使用这些额外的资源文件来展示不同的颜色,标签,主题等等。overlay特征仅适用与stage模型。 + +**如何识别overlay特征的module** +在IDE中创建应用工程时, module的配置文件module.json5中包含targetModuleName和targetPriority字段时,该module将会在安装阶段被识别为overlay特征的module。 diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md b/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md index b8df64665eb74f2427257730932c8b8e2039ac39..58f43d71aa878ac09703d76678c6e7b54a1611b0 100644 --- a/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md +++ b/zh-cn/application-dev/reference/errorcodes/errorcode-bundle.md @@ -394,4 +394,60 @@ Failed to install the HAP because the overlay check of the HAP is failed. 3. 检查目标应用是否不为overlay特征的应用 4. 检查目标module是否不为overlay特征的module。 +## 17700032 指定的应用不包含overlay特征的module + +**错误信息**
+The specified bundle does not contain any overlay module. + +**错误描述**
+查询指定应用中overlay特征module的overlayModuleInfo时, 指定的应用不包含overlay特征module。 + +**可能原因**
+指定的应用不包含overlay特征module。 + +**处理步骤**
+检查指定的应用是否不包含overlay特征module。 + +## 17700033 指定的module不是overlay特征的module + +**错误信息**
+The specified module is not overlay module. + +**错误描述**
+查询指定的overlay特征module的overlayModuleInfo时, 指定的module不是overlay特征module。 + +**可能原因**
+指定的module不是overlay特征的module。 + +**处理步骤**
+检查指定的module是否不为overlay特征的module。 + +## 17700034 指定的module是overlay特征的module + +**错误信息**
+The specified module is overlay module. + +**错误描述**
+查询指定的目标module所关联的overlayModuleInfo时, 指定的module是overlay特征module。 + +**可能原因**
+指定的module是overlay特征的module。 + +**处理步骤**
+检查指定的module是否为overlay特征的module。 + +## 17700035 指定的应用只包含overlay特征的module + +**错误信息**
+The specified bundle is overlay bundle. + +**错误描述**
+查询指定应用的目标module所关联的overlayModuleInfo时, 指定的应用只包含overlay特征的module。 + +**可能原因**
+指定的应用只包含overlay特征的module。 + +**处理步骤**
+检查指定的应用是否只包含overlay特征的module。 + \ No newline at end of file