diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-window-sys.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-window-sys.md index 28f7fdd19d24014333013b8421d8945538d7c1b5..4779ab62b5e743b224592a239501fa7a07e1b9f4 100644 --- a/zh-cn/application-dev/reference/apis-arkui/js-apis-window-sys.md +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-window-sys.md @@ -2795,6 +2795,69 @@ export default class EntryAbility extends UIAbility { } ``` +### raiseMainWindowAboveTarget20+ + +raiseMainWindowAboveTarget(windowId: number): Promise<void> + +将主窗口的Z序调整至同应用下的另一个主窗口之上,子窗口的Z序会跟随所属主窗口变动。使用Promise异步回调。 + +仅支持2in1设备的系统应用主窗口调用,传入目标主窗口的id,调用窗口和目标窗口需满足:同应用进程、显示在同一屏幕、低于锁屏、非置顶主窗、非模态主窗且无模应用子窗。 + +调用该接口抬升应用主窗口高于焦点窗口,则被抬升应用主窗口自动获焦;调用该接口降低焦点窗口,则Z序最高的应用主窗口自动获焦 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.Window.SessionManager + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | ---- | ---------- | +| windowId | number | 是 | 目标主窗口的id,该参数为整数,通过[getWindowProperties](arkts-apis-window-Window.md#getwindowproperties9)接口获取到[properties](arkts-apis-window-i.md#windowproperties)后,再通过properties.id获取。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[窗口错误码](errorcode-window.md)。 + +| 错误码ID | 错误信息 | +| ------- | ------------------------------ | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 801 | Capability not supported. Failed to call the API due to limited device capabilities. | +| 1300002 | This window state is abnormal. | +| 1300003 | This window manager service works abnormally. | +| 1300004 | Unauthorized operation. | +| 1300016 | Parameter error. Possible cause: 1. Invalid Parameter range. 2. Invalid parameter length. | + +**示例:** + +```ts +// EntryAbility.ets +import { window } from '@kit.ArkUI'; +import { UIAbility } from '@kit.AbilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +export default class EntryAbility extends UIAbility { + // ... + onWindowStageCreate(windowStage: window.WindowStage): void { + console.info('onWindowStageCreate'); + let targetId: number = 102; + windowStage.getMainWindow().then((mainWindow) => { + mainWindow.raiseMainWindowAboveTarget(targetId).then(() => { + console.info('Succeeded in raising the main window above target.'); + }).catch((err: BusinessError) => { + console.error(`Failed to raise the main window above target. Cause code: ${err.code}, message: ${err.message}`); + }); + }); + } +} +``` + ### setRaiseByClickEnabled10+ setRaiseByClickEnabled(enable: boolean, callback: AsyncCallback<void>): void