• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.window (窗口)
2
3窗口提供管理窗口的一些基础能力,包括对当前窗口的创建、销毁、各属性设置,以及对各窗口间的管理调度。
4
5该模块提供以下窗口相关的常用功能:
6
7- [Window](#window):当前窗口实例,窗口管理器管理的基本单元。
8- [WindowStage](#windowstage9):窗口管理器。管理各个基本窗口单元。
9
10> **说明:**
11>
12> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
13
14## 导入模块
15
16```js
17import window from '@ohos.window';
18```
19
20## WindowType<sup>7+</sup>
21
22窗口类型枚举。
23
24**系统能力:** SystemCapability.WindowManager.WindowManager.Core
25
26| 名称              | 值 | 说明               |
27| ----------------- | ------ | ------------------ |
28| TYPE_APP          | 0      | 表示应用子窗口。<br>**模型约束:** 此接口仅可在FA模型下使用。 |
29| TYPE_SYSTEM_ALERT | 1      | 表示系统告警窗口。 |
30| TYPE_INPUT_METHOD<sup>9+</sup> | 2      | 表示输入法窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
31| TYPE_STATUS_BAR<sup>9+</sup>   | 3      | 表示状态栏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
32| TYPE_PANEL<sup>9+</sup>        | 4      | 表示通知栏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
33| TYPE_KEYGUARD<sup>9+</sup>     | 5      | 表示锁屏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
34| TYPE_VOLUME_OVERLAY<sup>9+</sup> | 6      | 表示音量条。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
35| TYPE_NAVIGATION_BAR<sup>9+</sup> | 7      | 表示导航栏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
36| TYPE_FLOAT<sup>9+</sup> | 8      | 表示悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**需要权限:** ohos.permission.SYSTEM_FLOAT_WINDOW |
37| TYPE_WALLPAPER<sup>9+</sup> | 9      | 表示壁纸。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
38| TYPE_DESKTOP<sup>9+</sup> | 10      | 表示桌面。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
39| TYPE_LAUNCHER_RECENT<sup>9+</sup> | 11      | 表示多任务中心。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
40| TYPE_LAUNCHER_DOCK<sup>9+</sup> | 12      | 表示桌面Dock栏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
41| TYPE_VOICE_INTERACTION<sup>9+</sup> | 13      | 表示智慧语音。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
42| TYPE_POINTER<sup>9+</sup> | 14      | 表示鼠标。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
43| TYPE_FLOAT_CAMERA<sup>9+</sup> | 15      | 表示相机类型悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
44| TYPE_DIALOG<sup>9+</sup>  | 16      | 表示模态窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
45| TYPE_SCREENSHOT<sup>9+</sup>  | 17      | 表示截屏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
46
47## Configuration<sup>9+</sup>
48
49创建子窗口或系统窗口时的参数。
50
51**系统能力:** SystemCapability.WindowManager.WindowManager.Core
52
53| 名称 | 类型 | 必填 | 说明                                                                          |
54| ---------- | -------------------------- | -- |-----------------------------------------------------------------------------|
55| name       | string                     | 是 | 窗口名字。                                                                       |
56| windowType | [WindowType](#windowtype7) | 是 | 窗口类型。                                                                       |
57| ctx        | [BaseContext](js-apis-inner-application-baseContext.md) | 否 | 当前应用上下文信息。不设置,则默认为空。<br>FA模型下不需要使用该参数,即可创建子窗口。<br>Stage模型下需要使用该参数,用于创建系统窗口。 |
58| displayId  | number                     | 否 | 当前物理屏幕id。不设置,则默认为-1,该参数应为整数。                                             |
59| parentId   | number                     | 否 | 父窗口id。不设置,则默认为-1,该参数应为整数。                                                           |
60
61## AvoidAreaType<sup>7+</sup>
62
63窗口内容需要规避区域的类型枚举。
64
65**系统能力:** SystemCapability.WindowManager.WindowManager.Core
66
67| 名称                             | 值   | 说明                                                         |
68| -------------------------------- | ---- | ------------------------------------------------------------ |
69| TYPE_SYSTEM                      | 0    | 表示系统默认区域。一般包括状态栏、导航栏,各设备系统定义可能不同。 |
70| TYPE_CUTOUT                      | 1    | 表示刘海屏区域。                                             |
71| TYPE_SYSTEM_GESTURE<sup>9+</sup> | 2    | 表示手势区域。                                               |
72| TYPE_KEYBOARD<sup>9+</sup>       | 3    | 表示软键盘区域。                                             |
73
74## WindowMode<sup>7+</sup>
75
76窗口模式枚举。
77
78**系统接口:** 此接口为系统接口。
79
80**系统能力:** SystemCapability.WindowManager.WindowManager.Core
81
82| 名称       | 值   | 说明                          |
83| ---------- | ---- | ----------------------------- |
84| UNDEFINED  | 1    | 表示APP未定义窗口模式。       |
85| FULLSCREEN | 2    | 表示APP全屏模式。             |
86| PRIMARY    | 3    | 表示APP分屏多窗口主要模式。   |
87| SECONDARY  | 4    | 表示APP分屏多窗口次要模式。   |
88| FLOATING   | 5    | 表示APP自由悬浮形式窗口模式。 |
89
90## WindowLayoutMode<sup>9+</sup>
91
92窗口布局模式枚举。
93
94**系统接口:** 此接口为系统接口。
95
96**系统能力:** SystemCapability.WindowManager.WindowManager.Core
97
98| 名称       | 值   | 说明                          |
99| ---------- | ---- | ----------------------------- |
100| WINDOW_LAYOUT_MODE_CASCADE  | 0    | 表示使用层叠布局模式。       |
101| WINDOW_LAYOUT_MODE_TILE | 1    | 表示使用平铺布局模式。             |
102
103## SystemBarProperties
104
105状态栏、导航栏的属性。
106
107**系统能力:** SystemCapability.WindowManager.WindowManager.Core
108
109| 名称                                   | 类型 |  必填 | 说明                                                         |
110| -------------------------------------- | -------- | ---- | ------------------------------------------------------------ |
111| statusBarColor                         | string   |  否   | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。默认值:`#0x66000000`。 |
112| isStatusBarLightIcon<sup>7+</sup>      | boolean  |  否   | 状态栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
113| statusBarContentColor<sup>8+</sup>     | string   |  否   | 状态栏文字颜色。当设置此属性后, `isStatusBarLightIcon`属性设置无效。默认值:`0xE5FFFFFF。` |
114| navigationBarColor                     | string   |  否   | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。默认值:`#0x66000000。` |
115| isNavigationBarLightIcon<sup>7+</sup>  | boolean  |  否   | 导航栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
116| navigationBarContentColor<sup>8+</sup> | string   |  否   | 导航栏文字颜色。当设置此属性后, `isNavigationBarLightIcon`属性设置无效。默认值:`#0xE5FFFFFF。` |
117
118## Orientation<sup>9+</sup>
119
120窗口显示方向类型枚举。
121
122**系统能力:** SystemCapability.WindowManager.WindowManager.Core
123
124| 名称                                  | 值   | 说明                          |
125| ------------------------------------- | ---- | ----------------------------- |
126| UNSPECIFIED                           | 0    | 表示未定义方向模式,由系统判定。 |
127| PORTRAIT                              | 1    | 表示竖屏显示模式。             |
128| LANDSCAPE                             | 2    | 表示横屏显示模式。   |
129| PORTRAIT_INVERTED                     | 3    | 表示反向竖屏显示模式。   |
130| LANDSCAPE_INVERTED                    | 4    | 表示反向横屏显示模式。 |
131| AUTO_ROTATION                         | 5    | 表示传感器自动旋转模式。 |
132| AUTO_ROTATION_PORTRAIT                | 6    | 表示传感器自动竖向旋转模式。 |
133| AUTO_ROTATION_LANDSCAPE               | 7    | 表示传感器自动横向旋转模式。 |
134| AUTO_ROTATION_RESTRICTED              | 8    | 表示受开关控制的自动旋转模式。 |
135| AUTO_ROTATION_PORTRAIT_RESTRICTED     | 9    | 表示受开关控制的自动竖向旋转模式。 |
136| AUTO_ROTATION_LANDSCAPE_RESTRICTED    | 10   | 表述受开关控制的自动横向旋转模式。 |
137| LOCKED                                | 11   | 表示锁定模式。 |
138
139## BlurStyle<sup>9+</sup>
140
141窗口模糊类型枚举。
142
143**系统接口:** 此接口为系统接口。
144
145**系统能力:** SystemCapability.WindowManager.WindowManager.Core
146
147| 名称    | 值   | 说明                 |
148| ------- | ---- | -------------------- |
149| OFF     | 0    | 表示关闭模糊。       |
150| THIN    | 1    | 表示较薄的模糊类型。 |
151| REGULAR | 2    | 表示适中的模糊类型。 |
152| THICK   | 3    | 表示较厚的模糊类型。 |
153
154## SystemBarRegionTint<sup>8+</sup>
155
156单个导航栏或状态栏回调信息。
157
158**系统接口:** 此接口为系统接口。
159
160**系统能力:** SystemCapability.WindowManager.WindowManager.Core
161
162| 名称            | 类型                  | 可读 | 可写 | 说明                                                         |
163| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
164| type            | [WindowType](#windowtype7) | 是   | 否   | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 |
165| isEnable        | boolean                   | 是   | 否   | 当前系统栏是否显示。true表示显示;false表示不显示。 |
166| region          | [Rect](#rect7)             | 是   | 否   | 当前系统栏的位置及大小。                                     |
167| backgroundColor | string                    | 是   | 否   | 系统栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
168| contentColor    | string                    | 是   | 否   | 系统栏文字颜色。                                             |
169
170## SystemBarTintState<sup>8+</sup>
171
172当前系统栏回调信息集合。
173
174**系统接口:** 此接口为系统接口。
175
176**系统能力:** SystemCapability.WindowManager.WindowManager.Core
177
178| 名称       | 类型                                            | 可读 | 可写 | 说明                         |
179| ---------- | --------------------------------------------------- | ---- | ---- | ---------------------------- |
180| displayId  | number                                              | 是   | 否   | 当前物理屏幕id,该参数应为整数。             |
181| regionTint | Array<[SystemBarRegionTint](#systembarregiontint8)> | 是   | 否   | 当前已改变的所有系统栏信息。 |
182
183## Rect<sup>7+</sup>
184
185窗口矩形区域。
186
187**系统能力:** SystemCapability.WindowManager.WindowManager.Core
188
189| 名称   | 类型 | 可读 | 可写 | 说明               |
190| ------ | -------- | ---- | ---- | ------------------ |
191| left   | number   | 是   | 是   | 矩形区域的左边界,单位为px,该参数为整数。 |
192| top    | number   | 是   | 是   | 矩形区域的上边界,单位为px,该参数应为整数。 |
193| width  | number   | 是   | 是   | 矩形区域的宽度,单位为px,该参数应为整数。 |
194| height | number   | 是   | 是   | 矩形区域的高度,单位为px,该参数应为整数。 |
195
196## AvoidArea<sup>7+</sup>
197
198窗口内容规避区域。
199
200**系统能力:** SystemCapability.WindowManager.WindowManager.Core
201
202| 名称       | 类型      | 可读 | 可写 | 说明               |
203| ---------- | ------------- | ---- | ---- | ------------------ |
204| visible<sup>9+</sup>    | boolean       | 是   | 是   | 规避区域是否可见。true表示可见;false表示不可见。 |
205| leftRect   | [Rect](#rect7) | 是   | 是   | 屏幕左侧的矩形区。 |
206| topRect    | [Rect](#rect7) | 是   | 是   | 屏幕顶部的矩形区。 |
207| rightRect  | [Rect](#rect7) | 是   | 是   | 屏幕右侧的矩形区。 |
208| bottomRect | [Rect](#rect7) | 是   | 是   | 屏幕底部的矩形区。 |
209
210## Size<sup>7+</sup>
211
212窗口大小。
213
214**系统能力:** SystemCapability.WindowManager.WindowManager.Core
215
216| 名称   | 类型 | 可读 | 可写 | 说明       |
217| ------ | -------- | ---- | ---- | ---------- |
218| width  | number   | 是   | 是   | 窗口宽度,单位为px,该参数应为整数。 |
219| height | number   | 是   | 是   | 窗口高度,单位为px,该参数应为整数。 |
220
221## WindowProperties
222
223窗口属性。
224
225**系统能力:** SystemCapability.WindowManager.WindowManager.Core
226
227| 名称                                  | 类型                  | 可读 | 可写 | 说明                                                                                                     |
228| ------------------------------------- | ------------------------- | ---- | ---- |--------------------------------------------------------------------------------------------------------|
229| windowRect<sup>7+</sup>               | [Rect](#rect7)             | 是   | 是   | 窗口尺寸。                                                                                                  |
230| type<sup>7+</sup>                     | [WindowType](#windowtype7) | 是   | 是   | 窗口类型。                                                                                                  |
231| isFullScreen                          | boolean                   | 是   | 是   | 是否全屏,默认为false。true表示全屏;false表示非全屏。                                                                     |
232| isLayoutFullScreen<sup>7+</sup>       | boolean                   | 是   | 是   | 窗口是否为沉浸式,默认为false。true表示沉浸式;false表示非沉浸式。                                                               |
233| focusable<sup>7+</sup>                | boolean                   | 是   | 否   | 窗口是否可聚焦,默认为true。true表示可聚焦;false表示不可聚焦。                                                                 |
234| touchable<sup>7+</sup>                | boolean                   | 是   | 否   | 窗口是否可触摸,默认为true。true表示可触摸;false表示不可触摸。                                                                 |
235| brightness                            | number                    | 是   | 是   | 屏幕亮度。该参数为浮点数,可设置的亮度范围为[0.0, 1.0],其取1.0时表示最大亮度值。如果窗口没有设置亮度值,表示亮度跟随系统,此时获取到的亮度值为-1。                      |
236| dimBehindValue<sup>(deprecated)</sup> | number                    | 是   | 是   | 靠后窗口的暗度值。该参数为浮点数,取值范围为[0.0, 1.0],其取1.0表示最暗。<br>- **说明:** 从API version 9开始废弃。<br>- 从 API version 7开始支持。 |
237| isKeepScreenOn                        | boolean                   | 是   | 是   | 屏幕是否常亮,默认为false。true表示常亮;false表示不常亮。                                                                   |
238| isPrivacyMode<sup>7+</sup>            | boolean                   | 是   | 是   | 隐私模式,默认为false。true表示模式开启;false表示模式关闭。                                                                  |
239| isRoundCorner<sup>(deprecated)</sup>  | boolean                   | 是   | 是   | 窗口是否为圆角。默认为false。true表示圆角;false表示非圆角。<br>- **说明:** 从API version 9开始废弃。<br/>- 从 API version 7开始支持。      |
240| isTransparent<sup>7+</sup>            | boolean                   | 是   | 是   | 窗口是否透明。默认为false。true表示透明;false表示不透明。                                                                   |
241| id<sup>9+</sup>                       | number                    | 是   | 否   | 窗口ID,默认值为0,该参数应为整数。                                                                                    |
242
243## ColorSpace<sup>8+</sup>
244
245色域模式。
246
247**系统能力:** SystemCapability.WindowManager.WindowManager.Core
248
249| 名称       | 值 | 说明           |
250| ---------- | ------ | -------------- |
251| DEFAULT    | 0      | 默认SRGB色域模式。 |
252| WIDE_GAMUT | 1      | 广色域模式。   |
253
254## ScaleOptions<sup>9+</sup>
255
256缩放参数。
257
258**系统接口:** 此接口为系统接口。
259
260**系统能力**:SystemCapability.WindowManager.WindowManager.Core
261
262| 名称   | 类型 | 可读 | 可写 | 说明                                         |
263| ------ | -------- | ---- | ---- |--------------------------------------------|
264| x      | number   | 否   | 是   | X轴的缩放参数。该参数为浮点数,默认值为1.0。                   |
265| y      | number   | 否   | 是   | Y轴的缩放参数。该参数为浮点数,默认值为1.0。                   |
266| pivotX | number   | 否   | 是   | 缩放中心点X轴坐标。该参数为浮点数,默认值为0.5, 取值范围[0.0, 1.0]。 |
267| pivotY | number   | 否   | 是   | 缩放中心点Y轴坐标。该参数为浮点数,默认值为0.5, 取值范围[0.0, 1.0]。 |
268
269## RotateOptions<sup>9+</sup>
270
271旋转参数。
272
273**系统接口:** 此接口为系统接口。
274
275**系统能力**:SystemCapability.WindowManager.WindowManager.Core
276
277| 名称   | 类型 | 可读 | 可写 | 说明                                          |
278| ------ | -------- | ---- | ---- |---------------------------------------------|
279| x      | number   | 否   | 是   | 绕X轴的旋转角度。该参数为浮点数,默认值为0.0。                   |
280| y      | number   | 否   | 是   | 绕Y轴的旋转角度。该参数为浮点数,默认值为0.0。                   |
281| z      | number   | 否   | 是   | 绕Z轴的旋转角度。该参数为浮点数,默认值为0.0。                   |
282| pivotX | number   | 否   | 是   | 旋转中心点X轴坐标。该参数为浮点数,默认值为0.5, 取值范围为[0.0, 1.0]。 |
283| pivotY | number   | 否   | 是   | 旋转中心点Y轴坐标。该参数为浮点数,默认值为0.5, 取值范围为[0.0, 1.0]。  |
284
285## TranslateOptions<sup>9+</sup>
286
287平移参数。
288
289**系统接口:** 此接口为系统接口。
290
291**系统能力**:SystemCapability.WindowManager.WindowManager.Core
292
293| 名称 | 类型 | 可读 | 可写 | 说明                         |
294| ---- | -------- | ---- | ---- | ---------------------------- |
295| x    | number   | 否   | 是   | X轴的平移参数。该参数为浮点数,默认值为0.0。 |
296| y    | number   | 否   | 是   | Y轴的平移参数。该参数为浮点数,默认值为0.0。 |
297| z    | number   | 否   | 是   | Z轴的平移参数。该参数为浮点数,默认值为0.0。 |
298
299## window.createWindow<sup>9+</sup>
300
301createWindow(config: Configuration, callback: AsyncCallback&lt;Window&gt;): void
302
303创建子窗口或者系统窗口,使用callback异步回调。
304
305**系统能力:** SystemCapability.WindowManager.WindowManager.Core
306
307**参数:**
308
309| 参数名 | 类型 | 必填 | 说明 |
310| -------- | -------------------------------------- | -- | --------------------------------- |
311| config   | [Configuration](#configuration9)       | 是 | 创建窗口时的参数。   |
312| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前创建的窗口对象。 |
313
314**错误码:**
315
316以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
317
318| 错误码ID | 错误信息 |
319| ------- | -------------------------------- |
320| 1300001 | Repeated operation. |
321| 1300006 | This window context is abnormal. |
322
323**示例:**
324
325```js
326let windowClass = null;
327let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
328try {
329    window.createWindow(config, (err, data) => {
330        if (err.code) {
331            console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
332            return;
333        }
334        windowClass = data;
335        console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
336        windowClass.resetSize(500, 1000);
337    });
338} catch (exception) {
339    console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
340}
341```
342
343## window.createWindow<sup>9+</sup>
344
345createWindow(config: Configuration): Promise&lt;Window&gt;
346
347创建子窗口或者系统窗口,使用Promise异步回调。
348
349**系统能力:** SystemCapability.WindowManager.WindowManager.Core
350
351**参数:**
352
353| 参数名 | 类型 | 必填 | 说明 |
354| ------ | -------------------------------- | -- | ------------------ |
355| config | [Configuration](#configuration9) | 是 | 创建窗口时的参数。 |
356
357**返回值:**
358
359| 类型 | 说明 |
360| -------------------------------- | ------------------------------------ |
361| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的窗口对象。 |
362
363**错误码:**
364
365以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
366
367| 错误码ID | 错误信息 |
368| ------- | -------------------------------- |
369| 1300001 | Repeated operation. |
370| 1300006 | This window context is abnormal. |
371
372**示例:**
373
374```js
375let windowClass = null;
376let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
377try {
378    let promise = window.createWindow(config);
379    promise.then((data)=> {
380        windowClass = data;
381        console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
382    }).catch((err)=>{
383        console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
384    });
385} catch (exception) {
386    console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
387}
388```
389
390## window.findWindow<sup>9+</sup>
391
392findWindow(name: string): Window
393
394查找name所对应的窗口。
395
396**系统能力:** SystemCapability.WindowManager.WindowManager.Core
397
398**参数:**
399
400| 参数名 | 类型   | 必填 | 说明     |
401| ------ | ------ | ---- | -------- |
402| name   | string | 是   | 窗口id。 |
403
404**返回值:**
405
406| 类型 | 说明 |
407| ----------------- | ------------------- |
408| [Window](#window) | 当前查找的窗口对象。 |
409
410**示例:**
411
412```js
413let windowClass = null;
414try {
415    windowClass = window.findWindow('alertWindow');
416} catch (exception) {
417    console.error('Failed to find the Window. Cause: ' + JSON.stringify(exception));
418}
419```
420
421## window.getLastWindow<sup>9+</sup>
422
423getLastWindow(ctx: BaseContext, callback: AsyncCallback&lt;Window&gt;): void
424
425获取当前应用内最后显示的窗口,使用callback异步回调。
426
427**系统能力:** SystemCapability.WindowManager.WindowManager.Core
428
429**参数:**
430
431| 参数名 | 类型 | 必填 | 说明 |
432| -------- | -------------------------------------- | -- | ---------------------------------------- |
433| ctx      | [BaseContext](js-apis-inner-application-baseContext.md) | 是 | 当前应用上下文信息。 |
434| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 |
435
436**错误码:**
437
438以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
439
440| 错误码ID | 错误信息 |
441| ------- | -------------------------------- |
442| 1300002 | This window state is abnormal.   |
443| 1300006 | This window context is abnormal. |
444
445**示例:**
446
447```js
448let windowClass = null;
449try {
450    window.getLastWindow(this.context, (err, data) => {
451        if (err.code) {
452            console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
453            return;
454        }
455        windowClass = data;
456        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
457    });
458} catch (exception) {
459    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
460}
461```
462
463## window.getLastWindow<sup>9+</sup>
464
465getLastWindow(ctx: BaseContext): Promise&lt;Window&gt;
466
467获取当前应用内最后显示的窗口,使用Promise异步回调。
468
469**系统能力:** SystemCapability.WindowManager.WindowManager.Core
470
471**参数:**
472
473| 参数名 | 类型 | 必填 | 说明 |
474| ------ | ----------- | ---- | ------------------------------------------------------------ |
475| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
476
477**返回值:**
478
479| 类型 | 说明 |
480| -------------------------------- | ------------------------------------------- |
481| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
482
483**错误码:**
484
485以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
486
487| 错误码ID | 错误信息 |
488| ------- | -------------------------------- |
489| 1300002 | This window state is abnormal.   |
490| 1300006 | This window context is abnormal. |
491
492**示例:**
493
494```js
495let windowClass = null;
496try {
497    let promise = window.getLastWindow(this.context);
498    promise.then((data)=> {
499        windowClass = data;
500        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
501    }).catch((err)=>{
502        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
503    });
504} catch (exception) {
505    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
506}
507```
508
509## window.minimizeAll<sup>9+</sup>
510minimizeAll(id: number, callback: AsyncCallback&lt;void&gt;): void
511
512最小化某显示设备下的所有窗口。
513
514**系统接口:** 此接口为系统接口。
515
516**系统能力:** SystemCapability.WindowManager.WindowManager.Core
517
518**参数:**
519
520| 参数名   | 类型                      | 必填 | 说明           |
521| -------- | ------------------------- | ---- | -------------- |
522| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号,该参数仅支持整数输入。 |
523| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |
524
525**错误码:**
526
527以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
528
529| 错误码ID | 错误信息 |
530| ------- | -------------------------------------------- |
531| 1300003 | This window manager service works abnormally. |
532
533**示例:**
534
535```js
536import display from '@ohos.display'
537
538let displayClass = null;
539try {
540    displayClass = display.getDefaultDisplaySync();
541
542    try {
543        window.minimizeAll(displayClass.id, (err) => {
544            if(err.code) {
545                console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
546                return;
547            }
548            console.info('Succeeded in minimizing all windows.');
549        });
550    } catch (exception) {
551        console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception));
552    }
553} catch (exception) {
554    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
555}
556```
557
558## window.minimizeAll<sup>9+</sup>
559minimizeAll(id: number): Promise&lt;void&gt;
560
561最小化某显示设备下的所有窗口。
562
563**系统接口:** 此接口为系统接口。
564
565**系统能力:** SystemCapability.WindowManager.WindowManager.Core
566
567**参数:**
568
569| 参数名   | 类型                      | 必填 | 说明           |
570| -------- | ------------------------- | ---- | -------------- |
571| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号,该参数仅支持整数输入。 |
572
573**返回值:**
574
575| 类型                | 说明                      |
576| ------------------- | ------------------------- |
577| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
578
579**错误码:**
580
581以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
582
583| 错误码ID | 错误信息 |
584| ------- | -------------------------------------------- |
585| 1300003 | This window manager service works abnormally. |
586
587**示例:**
588
589```js
590import display from '@ohos.display'
591
592let displayClass = null;
593try {
594    displayClass = display.getDefaultDisplaySync();
595
596    try {
597        let promise = window.minimizeAll(displayClass.id);
598        promise.then(()=> {
599            console.info('Succeeded in minimizing all windows.');
600        }).catch((err)=>{
601            console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
602        });
603    } catch (exception) {
604        console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception));
605    }
606} catch (exception) {
607    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
608}
609```
610
611## window.toggleShownStateForAllAppWindows<sup>9+</sup>
612toggleShownStateForAllAppWindows(callback: AsyncCallback&lt;void&gt;): void
613
614多窗口快速切换时隐藏或者恢复应用窗口。
615
616**系统接口:** 此接口为系统接口。
617
618**系统能力:** SystemCapability.WindowManager.WindowManager.Core
619
620**参数:**
621
622| 参数名   | 类型                      | 必填 | 说明           |
623| -------- | ------------------------- | ---- | -------------- |
624| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |
625
626**错误码:**
627
628以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
629
630| 错误码ID | 错误信息 |
631| ------- | -------------------------------------------- |
632| 1300003 | This window manager service works abnormally. |
633
634**示例:**
635
636```js
637window.toggleShownStateForAllAppWindows((err) => {
638    if (err.code) {
639        console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
640        return;
641    }
642    console.info('Succeeded in toggling shown state for all app windows.');
643});
644```
645
646## window.toggleShownStateForAllAppWindows<sup>9+</sup>
647toggleShownStateForAllAppWindows(): Promise&lt;void&gt;
648
649多窗口快速切换时隐藏或者恢复应用窗口。
650
651**系统接口:** 此接口为系统接口。
652
653**系统能力:** SystemCapability.WindowManager.WindowManager.Core
654
655**返回值:**
656
657| 类型                | 说明                      |
658| ------------------- | ------------------------- |
659| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
660
661**错误码:**
662
663以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
664
665| 错误码ID | 错误信息 |
666| ------- | -------------------------------------------- |
667| 1300003 | This window manager service works abnormally. |
668
669**示例:**
670
671```js
672let promise = window.toggleShownStateForAllAppWindows();
673promise.then(()=> {
674    console.info('Succeeded in toggling shown state for all app windows.');
675}).catch((err)=>{
676    console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
677});
678```
679
680## window.setWindowLayoutMode<sup>9+</sup>
681setWindowLayoutMode(mode: WindowLayoutMode, callback: AsyncCallback&lt;void&gt;): void
682
683设置窗口布局模式。
684
685**系统接口:** 此接口为系统接口。
686
687**系统能力:** SystemCapability.WindowManager.WindowManager.Core
688
689**参数:**
690
691| 参数名   | 类型                      | 必填 | 说明           |
692| -------- | ------------------------- | ---- | -------------- |
693| mode       | [WindowLayoutMode](#windowlayoutmode9)                  | 是   | 设置的窗口布局模式。 |
694| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |
695
696**错误码:**
697
698以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
699
700| 错误码ID | 错误信息 |
701| ------- | -------------------------------------------- |
702| 1300003 | This window manager service works abnormally. |
703
704**示例:**
705
706```js
707try {
708    window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE, (err) => {
709        if(err.code) {
710            console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err));
711            return;
712        }
713        console.info('Succeeded in setting window layout mode.');
714    });
715} catch (exception) {
716    console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception));
717}
718```
719
720## window.setWindowLayoutMode<sup>9+</sup>
721setWindowLayoutMode(mode: WindowLayoutMode): Promise&lt;void&gt;
722
723设置窗口布局模式。
724
725**系统接口:** 此接口为系统接口。
726
727**系统能力:** SystemCapability.WindowManager.WindowManager.Core
728
729**参数:**
730
731| 参数名   | 类型                      | 必填 | 说明           |
732| -------- | ------------------------- | ---- | -------------- |
733| mode       | [WindowLayoutMode](#windowlayoutmode9)                    | 是   | 设置的窗口布局模式。 |
734
735**返回值:**
736
737| 类型                | 说明                      |
738| ------------------- | ------------------------- |
739| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
740
741**错误码:**
742
743以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
744
745| 错误码ID | 错误信息 |
746| ------- | -------------------------------------------- |
747| 1300003 | This window manager service works abnormally. |
748
749**示例:**
750
751```js
752try {
753    let promise = window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE);
754    promise.then(()=> {
755        console.info('Succeeded in setting window layout mode.');
756    }).catch((err)=>{
757        console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err));
758    });
759} catch (exception) {
760    console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception));
761}
762```
763
764## window.on('systemBarTintChange')<sup>8+</sup>
765
766on(type: 'systemBarTintChange', callback: Callback&lt;SystemBarTintState&gt;): void
767
768开启状态栏、导航栏属性变化的监听。
769
770**系统接口:** 此接口为系统接口。
771
772**系统能力:** SystemCapability.WindowManager.WindowManager.Core
773
774**参数:**
775
776| 参数名   | 类型                                                       | 必填 | 说明                                                         |
777| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
778| type     | string                                                     | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
779| callback | Callback&lt;[SystemBarTintState](#systembartintstate8)&gt; | 是   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
780
781**示例:**
782
783```js
784try {
785    window.on('systemBarTintChange', (data) => {
786        console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
787    });
788} catch (exception) {
789    console.error('Failed to enable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
790}
791```
792
793## window.off('systemBarTintChange')<sup>8+</sup>
794
795off(type: 'systemBarTintChange', callback?: Callback&lt;SystemBarTintState &gt;): void
796
797关闭状态栏、导航栏属性变化的监听。
798
799**系统接口:** 此接口为系统接口。
800
801**系统能力:** SystemCapability.WindowManager.WindowManager.Core
802
803**参数:**
804
805| 参数名   | 类型                                                       | 必填 | 说明                                                         |
806| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
807| type     | string                                                     | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
808| callback | Callback&lt;[SystemBarTintState](#systembartintstate8)&gt; | 否   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
809
810**示例:**
811
812```js
813try {
814    window.off('systemBarTintChange');
815} catch (exception) {
816    console.error('Failed to disable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
817}
818```
819
820## window.create<sup>(deprecated)</sup>
821
822create(id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
823
824创建子窗口,使用callback异步回调。
825
826> **说明:**
827>
828> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。
829
830**模型约束:** 此接口仅可在FA模型下使用。
831
832**系统能力:** SystemCapability.WindowManager.WindowManager.Core
833
834**参数:**
835
836| 参数名   | 类型                                   | 必填 | 说明                                 |
837| -------- | -------------------------------------- | ---- | ------------------------------------ |
838| id       | string                                 | 是   | 窗口id。                             |
839| type     | [WindowType](#windowtype7)              | 是   | 窗口类型。                           |
840| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前创建的子窗口对象。 |
841
842**示例:**
843
844```js
845let windowClass = null;
846window.create('first', window.WindowType.TYPE_APP,(err,data) => {
847    if(err.code){
848        console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
849        return;
850    }
851    windowClass = data;
852    console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
853});
854```
855
856## window.create<sup>(deprecated)</sup>
857
858create(id: string, type: WindowType): Promise&lt;Window&gt;
859
860创建子窗口,使用Promise异步回调。
861
862> **说明:**
863>
864> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。
865
866**模型约束:** 此接口仅可在FA模型下使用。
867
868**系统能力:** SystemCapability.WindowManager.WindowManager.Core
869
870**参数:**
871
872| 参数名 | 类型                      | 必填 | 说明       |
873| ------ | ------------------------- | ---- | ---------- |
874| id     | string                    | 是   | 窗口id。   |
875| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |
876
877**返回值:**
878
879| 类型                             | 说明                                    |
880| -------------------------------- | --------------------------------------- |
881| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
882
883**示例:**
884
885```js
886let windowClass = null;
887let promise = window.create('first', window.WindowType.TYPE_APP);
888promise.then((data)=> {
889    windowClass = data;
890    console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
891}).catch((err)=>{
892    console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
893});
894```
895
896## window.create<sup>(deprecated)</sup>
897
898create(ctx: BaseContext, id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
899
900创建系统窗口,使用callback异步回调。
901
902> **说明:**
903>
904> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。
905
906**系统能力:** SystemCapability.WindowManager.WindowManager.Core
907
908**参数:**
909
910| 参数名   | 类型                                                    | 必填 | 说明                                 |
911| -------- | ------------------------------------------------------- | ---- | ------------------------------------ |
912| ctx      | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。                 |
913| id       | string                                                  | 是   | 窗口id。                             |
914| type     | [WindowType](#windowtype7)                              | 是   | 窗口类型。                           |
915| callback | AsyncCallback&lt;[Window](#window)&gt;                  | 是   | 回调函数。返回当前创建的子窗口对象。 |
916
917**示例:**
918
919```js
920let windowClass = null;
921window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
922    if (err.code) {
923        console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
924        return;
925    }
926    windowClass = data;
927    console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
928    windowClass.resetSize(500, 1000);
929});
930```
931
932## window.create<sup>(deprecated)</sup>
933
934create(ctx: BaseContext, id: string, type: WindowType): Promise&lt;Window&gt;
935
936创建系统窗口,使用Promise异步回调。
937
938> **说明:**
939>
940> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。
941
942**系统能力:** SystemCapability.WindowManager.WindowManager.Core
943
944**参数:**
945
946| 参数名 | 类型                      | 必填 | 说明                                                         |
947| ------ | ------------------------- | ---- | ------------------------------------------------------------ |
948| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
949| id     | string                    | 是   | 窗口id。                                                     |
950| type   | [WindowType](#windowtype7) | 是   | 窗口类型。                                                   |
951
952**返回值:**
953
954| 类型                             | 说明                                    |
955| -------------------------------- | --------------------------------------- |
956| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
957
958**示例:**
959
960```js
961let windowClass = null;
962let promise = window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT);
963promise.then((data)=> {
964    windowClass = data;
965    console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
966}).catch((err)=>{
967    console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
968});
969```
970
971## window.find<sup>(deprecated)</sup>
972
973find(id: string, callback: AsyncCallback&lt;Window&gt;): void
974
975查找id所对应的窗口,使用callback异步回调。
976
977> **说明:**
978>
979> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
980
981**系统能力:** SystemCapability.WindowManager.WindowManager.Core
982
983**参数:**
984
985| 参数名   | 类型                                   | 必填 | 说明                                 |
986| -------- | -------------------------------------- | ---- | ------------------------------------ |
987| id       | string                                 | 是   | 窗口id。                             |
988| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前查找到的窗口对象。 |
989
990**示例:**
991
992```js
993let windowClass = null;
994window.find('alertWindow', (err, data) => {
995    if (err.code) {
996        console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
997        return;
998    }
999    windowClass = data;
1000    console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
1001});
1002```
1003
1004## window.find<sup>(deprecated)</sup>
1005
1006find(id: string): Promise&lt;Window&gt;
1007
1008查找id所对应的窗口,使用Promise异步回调。
1009
1010> **说明:**
1011>
1012> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
1013
1014**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1015
1016**参数:**
1017
1018| 参数名 | 类型   | 必填 | 说明     |
1019| ------ | ------ | ---- | -------- |
1020| id     | string | 是   | 窗口id。 |
1021
1022**返回值:**
1023
1024| 类型                             | 说明                                  |
1025| -------------------------------- | ------------------------------------- |
1026| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前查找的窗口对象。 |
1027
1028**示例:**
1029
1030```js
1031let windowClass = null;
1032let promise = window.find('alertWindow');
1033promise.then((data)=> {
1034    windowClass = data;
1035    console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
1036}).catch((err)=>{
1037    console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
1038});
1039```
1040
1041## window.getTopWindow<sup>(deprecated)</sup>
1042
1043getTopWindow(callback: AsyncCallback&lt;Window&gt;): void
1044
1045获取当前应用内最后显示的窗口,使用callback异步回调。
1046
1047> **说明:**
1048>
1049> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。
1050
1051**模型约束:** 此接口仅可在FA模型下使用。
1052
1053**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1054
1055**参数:**
1056
1057| 参数名   | 类型                                   | 必填 | 说明                                         |
1058| -------- | -------------------------------------- | ---- | -------------------------------------------- |
1059| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。 |
1060
1061**示例:**
1062
1063```js
1064let windowClass = null;
1065window.getTopWindow((err, data) => {
1066    if (err.code) {
1067        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1068        return;
1069    }
1070    windowClass = data;
1071    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1072});
1073```
1074
1075## window.getTopWindow<sup>(deprecated)</sup>
1076
1077getTopWindow(): Promise&lt;Window&gt;
1078
1079获取当前应用内最后显示的窗口,使用Promise异步回调。
1080
1081> **说明:**
1082>
1083> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。
1084
1085**模型约束:** 此接口仅可在FA模型下使用。
1086
1087**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1088
1089**返回值:**
1090
1091| 类型                             | 说明                                            |
1092| -------------------------------- | ----------------------------------------------- |
1093| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
1094
1095**示例:**
1096
1097```js
1098let windowClass = null;
1099let promise = window.getTopWindow();
1100promise.then((data)=> {
1101    windowClass = data;
1102    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1103}).catch((err)=>{
1104    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1105});
1106```
1107
1108## window.getTopWindow<sup>(deprecated)</sup>
1109
1110getTopWindow(ctx: BaseContext, callback: AsyncCallback&lt;Window&gt;): void
1111
1112获取当前应用内最后显示的窗口,使用callback异步回调。
1113
1114> **说明:**
1115>
1116> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。
1117
1118**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1119
1120**参数:**
1121
1122| 参数名   | 类型                                   | 必填 | 说明                                                         |
1123| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
1124| ctx      | [BaseContext](js-apis-inner-application-baseContext.md)                            | 是   | 当前应用上下文信息。 |
1125| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。                 |
1126
1127**示例:**
1128
1129```js
1130let windowClass = null;
1131window.getTopWindow(this.context, (err, data) => {
1132    if (err.code) {
1133        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1134        return;
1135    }
1136    windowClass = data;
1137    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1138});
1139```
1140
1141## window.getTopWindow<sup>(deprecated)</sup>
1142
1143getTopWindow(ctx: BaseContext): Promise&lt;Window&gt;
1144
1145获取当前应用内最后显示的窗口,使用Promise异步回调。
1146
1147> **说明:**
1148>
1149> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。
1150
1151**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1152
1153**参数:**
1154
1155| 参数名 | 类型    | 必填 | 说明                                                         |
1156| ------ | ----------- | ---- | ------------------------------------------------------------ |
1157| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
1158
1159**返回值:**
1160
1161| 类型                             | 说明                                            |
1162| -------------------------------- | ----------------------------------------------- |
1163| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
1164
1165**示例:**
1166
1167```js
1168let windowClass = null;
1169let promise = window.getTopWindow(this.context);
1170promise.then((data)=> {
1171 	windowClass = data;
1172    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1173}).catch((err)=>{
1174    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1175});
1176```
1177
1178## Window
1179
1180当前窗口实例,窗口管理器管理的基本单元。
1181
1182下列API示例中都需先使用[getLastWindow()](#windowgetlastwindow9)、[createWindow()](#windowcreatewindow9)、[findWindow()](#windowfindwindow9)中的任一方法获取到Window实例,再通过此实例调用对应方法。
1183
1184### hide<sup>7+</sup>
1185
1186hide (callback: AsyncCallback&lt;void&gt;): void
1187
1188隐藏当前窗口,使用callback异步回调。
1189
1190**系统接口:** 此接口为系统接口。
1191
1192**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1193
1194**参数:**
1195
1196| 参数名   | 类型                      | 必填 | 说明       |
1197| -------- | ------------------------- | ---- | ---------- |
1198| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
1199
1200**错误码:**
1201
1202以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1203
1204| 错误码ID | 错误信息 |
1205| ------- | ------------------------------ |
1206| 1300002 | This window state is abnormal. |
1207
1208**示例:**
1209
1210```js
1211windowClass.hide((err) => {
1212    if (err.code) {
1213        console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
1214        return;
1215    }
1216    console.info('Succeeded in hiding the window.');
1217});
1218```
1219
1220### hide<sup>7+</sup>
1221
1222hide(): Promise&lt;void&gt;
1223
1224隐藏当前窗口,使用Promise异步回调。
1225
1226**系统接口:** 此接口为系统接口。
1227
1228**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1229
1230**返回值:**
1231
1232| 类型                | 说明                      |
1233| ------------------- | ------------------------- |
1234| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1235
1236**错误码:**
1237
1238以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1239
1240| 错误码ID | 错误信息 |
1241| ------- | ------------------------------ |
1242| 1300002 | This window state is abnormal. |
1243
1244**示例:**
1245
1246```js
1247let promise = windowClass.hide();
1248promise.then(()=> {
1249    console.info('Succeeded in hiding the window.');
1250}).catch((err)=>{
1251    console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
1252});
1253```
1254
1255### hideWithAnimation<sup>9+</sup>
1256
1257hideWithAnimation(callback: AsyncCallback&lt;void&gt;): void
1258
1259隐藏当前窗口,过程中播放动画,使用callback异步回调。
1260
1261**系统接口:** 此接口为系统接口。
1262
1263**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1264
1265**参数:**
1266
1267| 参数名   | 类型                      | 必填 | 说明       |
1268| -------- | ------------------------- | ---- | ---------- |
1269| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
1270
1271**错误码:**
1272
1273以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1274
1275| 错误码ID | 错误信息 |
1276| ------- | -------------------------------------------- |
1277| 1300002 | This window state is abnormal.               |
1278| 1300003 | This window manager service works abnormally. |
1279| 1300004 | Unauthorized operation.                |
1280
1281**示例:**
1282
1283```js
1284windowClass.hideWithAnimation((err) => {
1285    if (err.code) {
1286        console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
1287        return;
1288    }
1289    console.info('Succeeded in hiding the window with animation.');
1290});
1291```
1292
1293### hideWithAnimation<sup>9+</sup>
1294
1295hideWithAnimation(): Promise&lt;void&gt;
1296
1297隐藏当前窗口,过程中播放动画,使用Promise异步回调。
1298
1299**系统接口:** 此接口为系统接口。
1300
1301**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1302
1303**返回值:**
1304
1305| 类型                | 说明                      |
1306| ------------------- | ------------------------- |
1307| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1308
1309**错误码:**
1310
1311以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1312
1313| 错误码ID | 错误信息 |
1314| ------- | -------------------------------------------- |
1315| 1300002 | This window state is abnormal.               |
1316| 1300003 | This window manager service works abnormally. |
1317| 1300004 | Unauthorized operation.                |
1318
1319**示例:**
1320
1321```js
1322let promise = windowClass.hideWithAnimation();
1323promise.then(()=> {
1324    console.info('Succeeded in hiding the window with animation.');
1325}).catch((err)=>{
1326    console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
1327});
1328```
1329
1330### showWindow<sup>9+</sup>
1331
1332showWindow(callback: AsyncCallback&lt;void&gt;): void
1333
1334显示当前窗口,使用callback异步回调。
1335
1336**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1337
1338**参数:**
1339
1340| 参数名 | 类型 | 必填 | 说明 |
1341| -------- | ------------------------- | -- | --------- |
1342| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1343
1344**错误码:**
1345
1346以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1347
1348| 错误码ID | 错误信息 |
1349| ------- | ------------------------------ |
1350| 1300002 | This window state is abnormal. |
1351
1352**示例:**
1353
1354```js
1355windowClass.showWindow((err) => {
1356    if (err.code) {
1357        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
1358        return;
1359    }
1360    console.info('Succeeded in showing the window.');
1361});
1362```
1363
1364### showWindow<sup>9+</sup>
1365
1366showWindow(): Promise&lt;void&gt;
1367
1368显示当前窗口,使用Promise异步回调。
1369
1370**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1371
1372**返回值:**
1373
1374| 类型 | 说明 |
1375| ------------------- | ----------------------- |
1376| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1377
1378**错误码:**
1379
1380以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1381
1382| 错误码ID | 错误信息 |
1383| ------- | ------------------------------ |
1384| 1300002 | This window state is abnormal. |
1385
1386**示例:**
1387
1388```js
1389let promise = windowClass.showWindow();
1390promise.then(()=> {
1391    console.info('Succeeded in showing the window.');
1392}).catch((err)=>{
1393    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
1394});
1395```
1396
1397### showWithAnimation<sup>9+</sup>
1398
1399showWithAnimation(callback: AsyncCallback&lt;void&gt;): void
1400
1401显示当前窗口,过程中播放动画,使用callback异步回调。
1402
1403**系统接口:** 此接口为系统接口。
1404
1405**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1406
1407**参数:**
1408
1409| 参数名   | 类型                      | 必填 | 说明       |
1410| -------- | ------------------------- | ---- | ---------- |
1411| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
1412
1413**错误码:**
1414
1415以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1416
1417| 错误码ID | 错误信息 |
1418| ------- | -------------------------------------------- |
1419| 1300002 | This window state is abnormal.               |
1420| 1300003 | This window manager service works abnormally. |
1421| 1300004 | Unauthorized operation.                |
1422
1423**示例:**
1424
1425```js
1426windowClass.showWithAnimation((err) => {
1427    if (err.code) {
1428        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
1429        return;
1430    }
1431    console.info('Succeeded in showing the window with animation.');
1432});
1433```
1434
1435### showWithAnimation<sup>9+</sup>
1436
1437showWithAnimation(): Promise&lt;void&gt;
1438
1439显示当前窗口,过程中播放动画,使用Promise异步回调。
1440
1441**系统接口:** 此接口为系统接口。
1442
1443**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1444
1445**返回值:**
1446
1447| 类型                | 说明                      |
1448| ------------------- | ------------------------- |
1449| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1450
1451**错误码:**
1452
1453以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1454
1455| 错误码ID | 错误信息 |
1456| ------- | -------------------------------------------- |
1457| 1300002 | This window state is abnormal.               |
1458| 1300003 | This window manager service works abnormally. |
1459| 1300004 | Unauthorized operation.                |
1460
1461**示例:**
1462
1463```js
1464let promise = windowClass.showWithAnimation();
1465promise.then(()=> {
1466    console.info('Succeeded in showing the window with animation.');
1467}).catch((err)=>{
1468    console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
1469});
1470```
1471
1472### destroyWindow<sup>9+</sup>
1473
1474destroyWindow(callback: AsyncCallback&lt;void&gt;): void
1475
1476销毁当前窗口,使用callback异步回调。
1477
1478**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1479
1480**参数:**
1481
1482| 参数名 | 类型 | 必填 | 说明 |
1483| -------- | ------------------------- | -- | --------- |
1484| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1485
1486**错误码:**
1487
1488以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1489
1490| 错误码ID | 错误信息 |
1491| ------- | -------------------------------------------- |
1492| 1300002 | This window state is abnormal.               |
1493| 1300003 | This window manager service works abnormally. |
1494
1495**示例:**
1496
1497```js
1498windowClass.destroyWindow((err) => {
1499    if (err.code) {
1500        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
1501        return;
1502    }
1503    console.info('Succeeded in destroying the window.');
1504});
1505```
1506
1507### destroyWindow<sup>9+</sup>
1508
1509destroyWindow(): Promise&lt;void&gt;
1510
1511销毁当前窗口,使用Promise异步回调。
1512
1513**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1514
1515**返回值:**
1516
1517| 类型 | 说明 |
1518| ------------------- | ------------------------ |
1519| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1520
1521**错误码:**
1522
1523以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1524
1525| 错误码ID | 错误信息 |
1526| ------- | -------------------------------------------- |
1527| 1300002 | This window state is abnormal.               |
1528| 1300003 | This window manager service works abnormally. |
1529
1530**示例:**
1531
1532```js
1533let promise = windowClass.destroyWindow();
1534promise.then(()=> {
1535    console.info('Succeeded in destroying the window.');
1536}).catch((err)=>{
1537    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
1538});
1539```
1540
1541### moveWindowTo<sup>9+</sup>
1542
1543moveWindowTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
1544
1545移动窗口位置,使用callback异步回调。
1546
1547全屏模式窗口不支持该操作。
1548
1549**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1550
1551**参数:**
1552
1553| 参数名 | 类型 | 必填 | 说明 |
1554| -------- | ------------------------- | -- | --------------------------------------------- |
1555| x        | number                    | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px,该参数仅支持整数输入。 |
1556| y        | number                    | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px,该参数仅支持整数输入。 |
1557| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                     |
1558
1559**错误码:**
1560
1561以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1562
1563| 错误码ID | 错误信息 |
1564| ------- | -------------------------------------------- |
1565| 1300002 | This window state is abnormal.               |
1566| 1300003 | This window manager service works abnormally. |
1567
1568**示例:**
1569
1570```js
1571try {
1572    windowClass.moveWindowTo(300, 300, (err)=>{
1573        if (err.code) {
1574            console.error('Failed to move the window. Cause:' + JSON.stringify(err));
1575            return;
1576        }
1577        console.info('Succeeded in moving the window.');
1578    });
1579} catch (exception) {
1580    console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
1581}
1582```
1583
1584### moveWindowTo<sup>9+</sup>
1585
1586moveWindowTo(x: number, y: number): Promise&lt;void&gt;
1587
1588移动窗口位置,使用Promise异步回调。
1589
1590全屏模式窗口不支持该操作。
1591
1592**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1593
1594**参数:**
1595
1596| 参数名 | 类型 | 必填 | 说明 |
1597| -- | ----- | -- | --------------------------------------------- |
1598| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px,该参数仅支持整数输入。 |
1599| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px,该参数仅支持整数输入。 |
1600
1601**返回值:**
1602
1603| 类型 | 说明 |
1604| ------------------- | ------------------------ |
1605| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1606
1607**错误码:**
1608
1609以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1610
1611| 错误码ID | 错误信息 |
1612| ------- | -------------------------------------------- |
1613| 1300002 | This window state is abnormal.               |
1614| 1300003 | This window manager service works abnormally. |
1615
1616**示例:**
1617
1618```js
1619try {
1620    let promise = windowClass.moveWindowTo(300, 300);
1621    promise.then(()=> {
1622        console.info('Succeeded in moving the window.');
1623    }).catch((err)=>{
1624        console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
1625    });
1626} catch (exception) {
1627    console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
1628}
1629```
1630
1631### resize<sup>9+</sup>
1632
1633resize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
1634
1635改变当前窗口大小,使用callback异步回调。
1636
1637应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
1638
1639系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
1640
1641设置的宽度与高度受到此约束限制。
1642
1643全屏模式窗口不支持该操作。
1644
1645**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1646
1647**参数:**
1648
1649| 参数名 | 类型 | 必填 | 说明 |
1650| -------- | ------------------------- | -- | ------------------------ |
1651| width    | number                    | 是 | 目标窗口的宽度,单位为px,该参数仅支持整数输入。 |
1652| height   | number                    | 是 | 目标窗口的高度,单位为px,该参数仅支持整数输入。 |
1653| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。                |
1654
1655**错误码:**
1656
1657以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1658
1659| 错误码ID | 错误信息 |
1660| ------- | -------------------------------------------- |
1661| 1300002 | This window state is abnormal.               |
1662| 1300003 | This window manager service works abnormally. |
1663
1664**示例:**
1665
1666```js
1667try {
1668    windowClass.resize(500, 1000, (err) => {
1669        if (err.code) {
1670            console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
1671            return;
1672        }
1673        console.info('Succeeded in changing the window size.');
1674    });
1675} catch (exception) {
1676    console.error('Failed to change the window size. Cause:' + JSON.stringify(exception));
1677}
1678```
1679
1680### resize<sup>9+</sup>
1681
1682resize(width: number, height: number): Promise&lt;void&gt;
1683
1684改变当前窗口大小,使用Promise异步回调。
1685
1686应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
1687
1688系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
1689
1690设置的宽度与高度受到此约束限制。
1691
1692全屏模式窗口不支持该操作。
1693
1694**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1695
1696**参数:**
1697
1698| 参数名 | 类型 | 必填 | 说明 |
1699| ------ | ------ | -- | ------------------------ |
1700| width  | number | 是 | 目标窗口的宽度,单位为px,该参数仅支持整数输入。 |
1701| height | number | 是 | 目标窗口的高度,单位为px,该参数仅支持整数输入。 |
1702
1703**返回值:**
1704
1705| 类型 | 说明 |
1706| ------------------- | ------------------------ |
1707| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1708
1709**错误码:**
1710
1711以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1712
1713| 错误码ID | 错误信息 |
1714| ------- | -------------------------------------------- |
1715| 1300002 | This window state is abnormal.               |
1716| 1300003 | This window manager service works abnormally. |
1717
1718**示例:**
1719
1720```js
1721try {
1722    let promise = windowClass.resize(500, 1000);
1723    promise.then(()=> {
1724        console.info('Succeeded in changing the window size.');
1725    }).catch((err)=>{
1726        console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
1727    });
1728} catch (exception) {
1729    console.error('Failed to change the window size. Cause: ' + JSON.stringify(exception));
1730}
1731```
1732
1733### setWindowMode<sup>9+</sup>
1734
1735setWindowMode(mode: WindowMode, callback: AsyncCallback&lt;void&gt;): void
1736
1737设置窗口模式,使用callback异步回调。
1738
1739**系统接口:** 此接口为系统接口。
1740
1741**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1742
1743**参数:**
1744
1745| 参数名 | 类型 | 必填 | 说明 |
1746| -------- | -------------------------- | -- | --------- |
1747| mode     | [WindowMode](#windowmode7) | 是 | 窗口模式。 |
1748| callback | AsyncCallback&lt;void&gt;  | 是 | 回调函数。 |
1749
1750**错误码:**
1751
1752以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1753
1754| 错误码ID | 错误信息 |
1755| ------- | -------------------------------------------- |
1756| 1300002 | This window state is abnormal.               |
1757| 1300003 | This window manager service works abnormally. |
1758
1759**示例:**
1760
1761```js
1762let mode = window.WindowMode.FULLSCREEN;
1763try {
1764    windowClass.setWindowMode(mode, (err) => {
1765    if (err.code) {
1766        console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err));
1767        return;
1768    }
1769    console.info('Succeeded in setting the window mode.');
1770    });
1771} catch (exception) {
1772    console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception));
1773}
1774```
1775
1776### setWindowMode<sup>9+</sup>
1777
1778setWindowMode(mode: WindowMode): Promise&lt;void&gt;
1779
1780设置窗口类型,使用Promise异步回调。
1781
1782**系统接口:** 此接口为系统接口。
1783
1784**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1785
1786**参数:**
1787
1788| 参数名 | 类型 | 必填 | 说明 |
1789| -------- | -------------------------- | -- | --------- |
1790| mode     | [WindowMode](#windowmode7) | 是 | 窗口模式。 |
1791
1792**返回值:**
1793
1794| 类型 | 说明 |
1795| ------------------- | ----------------------- |
1796| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1797
1798**错误码:**
1799
1800以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1801
1802| 错误码ID | 错误信息 |
1803| ------- | -------------------------------------------- |
1804| 1300002 | This window state is abnormal.               |
1805| 1300003 | This window manager service works abnormally. |
1806
1807**示例:**
1808
1809```js
1810let mode = window.WindowMode.FULLSCREEN;
1811try {
1812    let promise = windowClass.setWindowMode(mode);
1813    promise.then(()=> {
1814        console.info('Succeeded in setting the window mode.');
1815    }).catch((err)=>{
1816        console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err));
1817    });
1818} catch (exception) {
1819    console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception));
1820}
1821```
1822
1823### getWindowProperties<sup>9+</sup>
1824
1825getWindowProperties(): WindowProperties
1826
1827获取当前窗口的属性,返回WindowProperties。
1828
1829**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1830
1831**返回值:**
1832
1833| 类型 | 说明 |
1834| ------------------------------------- | ------------- |
1835| [WindowProperties](#windowproperties) | 当前窗口属性。 |
1836
1837**错误码:**
1838
1839以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1840
1841| 错误码ID | 错误信息 |
1842| ------- | ------------------------------ |
1843| 1300002 | This window state is abnormal. |
1844
1845**示例:**
1846
1847```js
1848try {
1849    let properties = windowClass.getWindowProperties();
1850} catch (exception) {
1851    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(exception));
1852}
1853```
1854
1855### getWindowAvoidArea<sup>9+</sup>
1856
1857getWindowAvoidArea(type: AvoidAreaType): AvoidArea
1858
1859获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
1860
1861**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1862
1863**参数:**
1864
1865| 参数名 | 类型 | 必填 | 说明 |
1866| ---- |----------------------------------| -- | ------------------------------------------------------------ |
1867| type | [AvoidAreaType](#avoidareatype7) | 是 | 表示规避区类型。 |
1868
1869**返回值:**
1870
1871| 类型 | 说明 |
1872|--------------------------| ----------------- |
1873| [AvoidArea](#avoidarea7) | 窗口内容规避区域。 |
1874
1875**错误码:**
1876
1877以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1878
1879| 错误码ID | 错误信息 |
1880| ------- | ------------------------------ |
1881| 1300002 | This window state is abnormal. |
1882
1883**示例:**
1884
1885```js
1886let type = window.AvoidAreaType.TYPE_SYSTEM;
1887try {
1888    let avoidArea = windowClass.getWindowAvoidArea(type);
1889} catch (exception) {
1890    console.error('Failed to obtain the area. Cause:' + JSON.stringify(exception));
1891}
1892```
1893
1894### setWindowLayoutFullScreen<sup>9+</sup>
1895
1896setWindowLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
1897
1898设置窗口的布局是否为全屏显示状态,使用callback异步回调。
1899
1900**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1901
1902**参数:**
1903
1904| 参数名 | 类型 | 必填 | 说明 |
1905| ------------------ | ------------------------- | -- | --------- |
1906| isLayoutFullScreen | boolean                   | 是 | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏显示;false表示非全屏显示。 |
1907| callback           | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1908
1909**错误码:**
1910
1911以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1912
1913| 错误码ID | 错误信息 |
1914| ------- | -------------------------------------------- |
1915| 1300002 | This window state is abnormal.               |
1916| 1300003 | This window manager service works abnormally. |
1917
1918**示例:**
1919
1920```js
1921let isLayoutFullScreen= true;
1922try {
1923    windowClass.setWindowLayoutFullScreen(isLayoutFullScreen, (err) => {
1924        if (err.code) {
1925            console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
1926            return;
1927        }
1928        console.info('Succeeded in setting the window layout to full-screen mode.');
1929    });
1930} catch (exception) {
1931    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
1932}
1933```
1934
1935### setWindowLayoutFullScreen<sup>9+</sup>
1936
1937setWindowLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
1938
1939设置窗口的布局是否为全屏显示状态,使用Promise异步回调。
1940
1941**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1942
1943**参数:**
1944
1945| 参数名 | 类型 | 必填 | 说明 |
1946| ------------------ | ------- | -- | ------------------------------------------------------------------------------------------------ |
1947| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏显示;false表示非全屏显示。 |
1948
1949**返回值:**
1950
1951| 类型 | 说明 |
1952| ------------------- | ------------------------ |
1953| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1954
1955**错误码:**
1956
1957以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1958
1959| 错误码ID | 错误信息 |
1960| ------- | -------------------------------------------- |
1961| 1300002 | This window state is abnormal.               |
1962| 1300003 | This window manager service works abnormally. |
1963
1964**示例:**
1965
1966```js
1967let isLayoutFullScreen = true;
1968try {
1969    let promise = windowClass.setWindowLayoutFullScreen(isLayoutFullScreen);
1970    promise.then(()=> {
1971        console.info('Succeeded in setting the window layout to full-screen mode.');
1972    }).catch((err)=>{
1973        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
1974    });
1975} catch (exception) {
1976    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
1977}
1978```
1979
1980### setWindowSystemBarEnable<sup>9+</sup>
1981
1982setWindowSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void
1983
1984设置导航栏、状态栏的可见模式,使用callback异步回调。
1985
1986**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1987
1988**参数:**
1989
1990| 参数名 | 类型 | 必填 | 说明 |
1991| -------- | ---------------------------- | -- | --------- |
1992| names    | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
1993| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1994
1995**错误码:**
1996
1997以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1998
1999| 错误码ID | 错误信息 |
2000| ------- | -------------------------------------------- |
2001| 1300002 | This window state is abnormal.               |
2002| 1300003 | This window manager service works abnormally. |
2003
2004**示例:**
2005
2006```js
2007// 此处以不显示导航栏、状态栏为例
2008let names = [];
2009try {
2010    windowClass.setWindowSystemBarEnable(names, (err) => {
2011        if (err.code) {
2012            console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
2013            return;
2014        }
2015        console.info('Succeeded in setting the system bar to be invisible.');
2016    });
2017} catch (exception) {
2018    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
2019}
2020```
2021
2022### setWindowSystemBarEnable<sup>9+</sup>
2023
2024setWindowSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
2025
2026设置导航栏、状态栏的可见模式,使用Promise异步回调。
2027
2028**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2029
2030**参数:**
2031
2032| 参数名 | 类型  | 必填 | 说明 |
2033| ----- | ---------------------------- | -- | --------------------------------- |
2034| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
2035
2036**返回值:**
2037
2038| 类型 | 说明 |
2039| ------------------- | ------------------------ |
2040| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2041
2042**错误码:**
2043
2044以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2045
2046| 错误码ID | 错误信息 |
2047| ------- | -------------------------------------------- |
2048| 1300002 | This window state is abnormal.               |
2049| 1300003 | This window manager service works abnormally. |
2050
2051**示例:**
2052
2053```js
2054// 此处以不显示导航栏、状态栏为例
2055let names = [];
2056try {
2057    let promise = windowClass.setWindowSystemBarEnable(names);
2058    promise.then(()=> {
2059        console.info('Succeeded in setting the system bar to be invisible.');
2060    }).catch((err)=>{
2061        console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
2062    });
2063} catch (exception) {
2064    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
2065}
2066```
2067
2068### setWindowSystemBarProperties<sup>9+</sup>
2069
2070setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void
2071
2072设置窗口内导航栏、状态栏的属性,使用callback异步回调。
2073
2074**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2075
2076**参数:**
2077
2078| 参数名              | 类型                                        | 必填 | 说明                   |
2079| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2080| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
2081| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
2082
2083**错误码:**
2084
2085以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2086
2087| 错误码ID | 错误信息 |
2088| ------- | -------------------------------------------- |
2089| 1300002 | This window state is abnormal.               |
2090| 1300003 | This window manager service works abnormally. |
2091
2092**示例:**
2093
2094```js
2095let SystemBarProperties = {
2096    statusBarColor: '#ff00ff',
2097    navigationBarColor: '#00ff00',
2098    //以下两个属性从API Version8开始支持
2099    statusBarContentColor:'#ffffff',
2100    navigationBarContentColor:'#00ffff'
2101};
2102try {
2103    windowClass.setWindowSystemBarProperties(SystemBarProperties, (err) => {
2104        if (err.code) {
2105            console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
2106            return;
2107        }
2108        console.info('Succeeded in setting the system bar properties.');
2109    });
2110} catch (exception) {
2111    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
2112}
2113```
2114
2115### setWindowSystemBarProperties<sup>9+</sup>
2116
2117setWindowSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;
2118
2119设置窗口内导航栏、状态栏的属性,使用Promise异步回调。
2120
2121**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2122
2123**参数:**
2124
2125| 参数名              | 类型                                        | 必填 | 说明                   |
2126| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2127| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
2128
2129**返回值:**
2130
2131| 类型                | 说明                      |
2132| ------------------- | ------------------------- |
2133| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2134
2135**错误码:**
2136
2137以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2138
2139| 错误码ID | 错误信息 |
2140| ------- | -------------------------------------------- |
2141| 1300002 | This window state is abnormal.               |
2142| 1300003 | This window manager service works abnormally. |
2143
2144**示例:**
2145
2146```js
2147let SystemBarProperties = {
2148    statusBarColor: '#ff00ff',
2149    navigationBarColor: '#00ff00',
2150    //以下两个属性从API Version8开始支持
2151    statusBarContentColor:'#ffffff',
2152    navigationBarContentColor:'#00ffff'
2153};
2154try {
2155    let promise = windowClass.setWindowSystemBarProperties(SystemBarProperties);
2156    promise.then(()=> {
2157        console.info('Succeeded in setting the system bar properties.');
2158    }).catch((err)=>{
2159        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
2160    });
2161} catch (exception) {
2162    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
2163}
2164```
2165
2166### setPreferredOrientation<sup>9+</sup>
2167
2168setPreferredOrientation(orientation: Orientation, callback: AsyncCallback&lt;void&gt;): void
2169
2170设置窗口的显示方向属性,使用callback异步回调。
2171
2172**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2173
2174**参数:**
2175
2176| 参数名              | 类型                                        | 必填 | 说明                   |
2177| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2178| Orientation         | [Orientation](#orientation9)                | 是   | 窗口显示方向的属性。         |
2179| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
2180
2181**错误码:**
2182
2183以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2184
2185| 错误码ID | 错误信息 |
2186| ------- | ------------------------------ |
2187| 1300002 | This window state is abnormal. |
2188
2189**示例:**
2190
2191```js
2192let orientation = window.Orientation.AUTO_ROTATION;
2193try {
2194    windowClass.setPreferredOrientation(orientation, (err) => {
2195        if (err.code) {
2196            console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err));
2197            return;
2198        }
2199        console.info('Succeeded in setting window orientation.');
2200    });
2201} catch (exception) {
2202    console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
2203}
2204```
2205
2206### setPreferredOrientation<sup>9+</sup>
2207
2208setPreferredOrientation(orientation: Orientation): Promise&lt;void&gt;
2209
2210设置窗口的显示方向属性,使用Promise异步回调。
2211
2212**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2213
2214**参数:**
2215
2216| 参数名              | 类型                                        | 必填 | 说明                   |
2217| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2218| Orientation         | [Orientation](#orientation9)                | 是   | 窗口显示方向的属性。       |
2219
2220**返回值:**
2221
2222| 类型                | 说明                      |
2223| ------------------- | ------------------------- |
2224| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2225
2226**错误码:**
2227
2228以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2229
2230| 错误码ID | 错误信息 |
2231| ------- | ------------------------------ |
2232| 1300002 | This window state is abnormal. |
2233
2234**示例:**
2235
2236```js
2237let orientation = window.Orientation.AUTO_ROTATION;
2238try {
2239    let promise = windowClass.setPreferredOrientation(orientation);
2240    promise.then(()=> {
2241        console.info('Succeeded in setting the window orientation.');
2242    }).catch((err)=>{
2243        console.error('Failed to set the window orientation. Cause: ' + JSON.stringify(err));
2244    });
2245} catch (exception) {
2246    console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
2247}
2248```
2249
2250### setUIContent<sup>9+</sup>
2251
2252setUIContent(path: string, callback: AsyncCallback&lt;void&gt;): void
2253
2254为当前窗口加载具体页面内容,使用callback异步回调。
2255
2256**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2257
2258**参数:**
2259
2260| 参数名 | 类型 | 必填 | 说明 |
2261| -------- | ------------------------- | -- | -------------------- |
2262| path     | string                    | 是 | 设置加载页面的路径。 |
2263| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。          |
2264
2265**错误码:**
2266
2267以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2268
2269| 错误码ID | 错误信息 |
2270| ------- | -------------------------------------------- |
2271| 1300002 | This window state is abnormal.               |
2272| 1300003 | This window manager service works abnormally. |
2273
2274**示例:**
2275
2276```js
2277try {
2278    windowClass.setUIContent('pages/page2/page2', (err) => {
2279    if (err.code) {
2280            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2281            return;
2282    }
2283    console.info('Succeeded in loading the content.');
2284    });
2285} catch (exception) {
2286    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
2287}
2288```
2289
2290### setUIContent<sup>9+</sup>
2291
2292setUIContent(path: string): Promise&lt;void&gt;
2293
2294为当前窗口加载具体页面内容,使用Promise异步回调。
2295
2296**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2297
2298**参数:**
2299
2300| 参数名 | 类型 | 必填 | 说明 |
2301| ---- | ------ | -- | ------------------ |
2302| path | string | 是 | 设置加载页面的路径。 |
2303
2304**返回值:**
2305
2306| 类型 | 说明 |
2307| ------------------- | ------------------------ |
2308| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2309
2310**错误码:**
2311
2312以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2313
2314| 错误码ID | 错误信息 |
2315| ------- | -------------------------------------------- |
2316| 1300002 | This window state is abnormal.               |
2317| 1300003 | This window manager service works abnormally. |
2318
2319**示例:**
2320
2321```js
2322try {
2323    let promise = windowClass.setUIContent('pages/page2/page2');
2324    promise.then(()=> {
2325        console.info('Succeeded in loading the content.');
2326    }).catch((err)=>{
2327        console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
2328    });
2329} catch (exception) {
2330    console.error('Failed to load the content. Cause: ' + JSON.stringify(exception));
2331}
2332```
2333
2334### loadContent<sup>9+</sup>
2335
2336loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void
2337
2338为当前窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。
2339
2340**模型约束:** 此接口仅可在Stage模型下使用。
2341
2342**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2343
2344**参数:**
2345
2346| 参数名   | 类型                                            | 必填 | 说明                                                         |
2347| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
2348| path     | string                                          | 是   | 设置加载页面的路径。                                         |
2349| storage  | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
2350| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
2351
2352**错误码:**
2353
2354以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2355
2356| 错误码ID | 错误信息 |
2357| ------- | -------------------------------------------- |
2358| 1300002 | This window state is abnormal.               |
2359| 1300003 | This window manager service works abnormally. |
2360
2361**示例:**
2362
2363```ts
2364let storage = new LocalStorage();
2365storage.setOrCreate('storageSimpleProp',121);
2366console.log('onWindowStageCreate');
2367try {
2368    windowClass.loadContent('pages/page2', storage, (err) => {
2369        if (err.code) {
2370            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2371            return;
2372        }
2373        console.info('Succeeded in loading the content.');
2374    });
2375} catch (exception) {
2376    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
2377}
2378```
2379
2380### loadContent<sup>9+</sup>
2381
2382loadContent(path: string, storage: LocalStorage): Promise&lt;void&gt;
2383
2384为当前窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。
2385
2386**模型约束:** 此接口仅可在Stage模型下使用。
2387
2388**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2389
2390**参数:**
2391
2392| 参数名  | 类型                                            | 必填 | 说明                                                         |
2393| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
2394| path    | string                                          | 是   | 设置加载页面的路径。                                         |
2395| storage | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
2396
2397**返回值:**
2398
2399| 类型                | 说明                      |
2400| ------------------- | ------------------------- |
2401| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2402
2403**错误码:**
2404
2405以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2406
2407| 错误码ID | 错误信息 |
2408| ------- | -------------------------------------------- |
2409| 1300002 | This window state is abnormal.               |
2410| 1300003 | This window manager service works abnormally. |
2411
2412**示例:**
2413
2414```ts
2415let storage = new LocalStorage();
2416storage.setOrCreate('storageSimpleProp',121);
2417console.log('onWindowStageCreate');
2418try {
2419    let promise = windowClass.loadContent('pages/page2', storage);
2420    promise.then(() => {
2421        console.info('Succeeded in loading the content.');
2422    }).catch((err) => {
2423        console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2424    });
2425} catch (exception) {
2426    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
2427}
2428```
2429
2430### isWindowShowing<sup>9+</sup>
2431
2432isWindowShowing(): boolean
2433
2434判断当前窗口是否已显示。
2435
2436**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2437
2438**返回值:**
2439
2440| 类型 | 说明 |
2441| ------- | ------------------------------------------------------------------ |
2442| boolean | 当前窗口是否已显示。true表示当前窗口已显示,false则表示当前窗口未显示。 |
2443
2444**错误码:**
2445
2446以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2447
2448| 错误码ID | 错误信息 |
2449| ------- | ------------------------------ |
2450| 1300002 | This window state is abnormal. |
2451
2452**示例:**
2453
2454```js
2455try {
2456    let data = windowClass.isWindowShowing();
2457    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
2458} catch (exception) {
2459    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(exception));
2460}
2461```
2462
2463### on('windowSizeChange')<sup>7+</sup>
2464
2465on(type:  'windowSizeChange', callback: Callback&lt;Size&gt;): void
2466
2467开启窗口尺寸变化的监听。
2468
2469**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2470
2471**参数:**
2472
2473| 参数名   | 类型                           | 必填 | 说明                                                     |
2474| -------- | ------------------------------ | ---- | -------------------------------------------------------- |
2475| type     | string                         | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
2476| callback | Callback&lt;[Size](#size7)&gt; | 是   | 回调函数。返回当前的窗口尺寸。                           |
2477
2478**示例:**
2479
2480```js
2481try {
2482    windowClass.on('windowSizeChange', (data) => {
2483        console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
2484    });
2485} catch (exception) {
2486    console.error('Failed to enable the listener for window size changes. Cause: ' + JSON.stringify(exception));
2487}
2488```
2489
2490### off('windowSizeChange')<sup>7+</sup>
2491
2492off(type: 'windowSizeChange', callback?: Callback&lt;Size&gt;): void
2493
2494关闭窗口尺寸变化的监听。
2495
2496**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2497
2498**参数:**
2499
2500| 参数名   | 类型                          | 必填 | 说明                                                     |
2501| -------- | ----------------------------- | ---- | -------------------------------------------------------- |
2502| type     | string                        | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
2503| callback | Callback&lt;[Size](#size7)&gt; | 否   | 回调函数。返回当前的窗口尺寸。                           |
2504
2505**示例:**
2506
2507```js
2508try {
2509    windowClass.off('windowSizeChange');
2510} catch (exception) {
2511    console.error('Failed to disable the listener for window size changes. Cause: ' + JSON.stringify(exception));
2512}
2513```
2514
2515### on('avoidAreaChange')<sup>9+</sup>
2516
2517on(type: 'avoidAreaChange', callback: Callback&lt;{type: AvoidAreaType, area: AvoidArea}&gt;): void
2518
2519开启系统规避区变化的监听。
2520
2521**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2522
2523**参数:**
2524
2525| 参数名   | 类型                                                               | 必填 | 说明                                   |
2526| -------- |------------------------------------------------------------------| ---- |--------------------------------------|
2527| type     | string                                                           | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
2528| callback | Callback&lt;{type: [AvoidAreaType](#avoidareatype7), area: [AvoidArea](#avoidarea7)}&gt; | 是   | 回调函数。返回当前规避区以及规避区类型。|
2529
2530**示例:**
2531
2532```js
2533try {
2534    windowClass.on('avoidAreaChange', (data) => {
2535        console.info('Succeeded in enabling the listener for system avoid area changes. type:' +
2536            JSON.stringify(data.type) + ', area: ' + JSON.stringify(data.area));
2537    });
2538} catch (exception) {
2539    console.error('Failed to enable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
2540}
2541```
2542
2543### off('avoidAreaChange')<sup>9+</sup>
2544
2545off(type: 'avoidAreaChange', callback?: Callback&lt;{type: AvoidAreaType, area: AvoidArea}&gt;): void
2546
2547关闭系统规避区变化的监听。
2548
2549**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2550
2551**参数:**
2552
2553| 参数名   | 类型                                                                          | 必填  | 说明                                 |
2554| -------- |-----------------------------------------------------------------------------|-----|------------------------------------|
2555| type     | string                                                                      | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
2556| callback | Callback&lt;{type: [AvoidAreaType](#avoidareatype7), area: [AvoidArea](#avoidarea7)}&gt; | 否   | 回调函数。返回当前规避区以及规避区类型。|
2557
2558**示例:**
2559
2560```js
2561try {
2562    windowClass.off('avoidAreaChange');
2563} catch (exception) {
2564    console.error('Failed to disable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
2565}
2566```
2567
2568### on('keyboardHeightChange')<sup>7+</sup>
2569
2570on(type: 'keyboardHeightChange', callback: Callback&lt;number&gt;): void
2571
2572开启键盘高度变化的监听。
2573
2574**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2575
2576**参数:**
2577
2578| 参数名   | 类型                | 必填 | 说明                                        |
2579| -------- | ------------------- | ---- |-------------------------------------------|
2580| type     | string              | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
2581| callback | Callback&lt;number&gt; | 是   | 回调函数。返回当前的键盘高度,返回值为整数。                    |
2582
2583**示例:**
2584
2585```js
2586try {
2587    windowClass.on('keyboardHeightChange', (data) => {
2588        console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
2589    });
2590} catch (exception) {
2591    console.error('Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
2592}
2593```
2594
2595### off('keyboardHeightChange')<sup>7+</sup>
2596
2597off(type: 'keyboardHeightChange', callback?: Callback&lt;number&gt;): void
2598
2599关闭键盘高度变化的监听。
2600
2601**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2602
2603**参数:**
2604
2605| 参数名   | 类型                   | 必填 | 说明                                                         |
2606| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
2607| type     | string                 | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
2608| callback | Callback&lt;number&gt; | 否   | 回调函数。返回当前的键盘高度,返回值为整数。                               |
2609
2610**示例:**
2611
2612```js
2613try {
2614    windowClass.off('keyboardHeightChange');
2615} catch (exception) {
2616    console.error('Failed to disable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
2617}
2618```
2619
2620### on('touchOutside')<sup>9+</sup>
2621
2622on(type: 'touchOutside', callback: Callback&lt;void&gt;): void
2623
2624开启本窗口区域范围外的点击事件的监听。
2625
2626**系统接口:** 此接口为系统接口。
2627
2628**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2629
2630**参数:**
2631
2632| 参数名   | 类型                | 必填 | 说明                                                         |
2633| -------- | ------------------- | ---- | ------------------------------------------------------------ |
2634| type     | string              | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
2635| callback | Callback&lt;void&gt; | 是   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |
2636
2637**示例:**
2638
2639```js
2640try {
2641    windowClass.on('touchOutside', () => {
2642        console.info('touch outside');
2643    });
2644} catch (exception) {
2645    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2646}
2647```
2648
2649### off('touchOutside')<sup>9+</sup>
2650
2651off(type: 'touchOutside', callback?: Callback&lt;void&gt;): void
2652
2653关闭本窗口区域范围外的点击事件的监听。
2654
2655**系统接口:** 此接口为系统接口。
2656
2657**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2658
2659**参数:**
2660
2661| 参数名   | 类型                   | 必填 | 说明                                                         |
2662| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
2663| type     | string                 | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
2664| callback | Callback&lt;void&gt; | 否   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |
2665
2666**示例:**
2667
2668```js
2669try {
2670    windowClass.off('touchOutside');
2671} catch (exception) {
2672    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
2673}
2674```
2675
2676### on('screenshot')<sup>9+</sup>
2677
2678on(type: 'screenshot', callback: Callback&lt;void&gt;): void
2679
2680开启截屏事件的监听。
2681
2682**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2683
2684**参数:**
2685
2686| 参数名   | 类型                | 必填 | 说明                                                         |
2687| -------- | ------------------- | ---- | ------------------------------------------------------------ |
2688| type     | string              | 是   | 监听事件,固定为'screenshot',即截屏事件。 |
2689| callback | Callback&lt;void&gt; | 是   | 回调函数。发生截屏事件时的回调。                               |
2690
2691**示例:**
2692
2693```js
2694try {
2695    windowClass.on('screenshot', () => {
2696        console.info('screenshot happened');
2697    });
2698} catch (exception) {
2699    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2700}
2701```
2702
2703### off('screenshot')<sup>9+</sup>
2704
2705off(type: 'screenshot', callback?: Callback&lt;void&gt;): void
2706
2707关闭截屏事件的监听。
2708
2709**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2710
2711**参数:**
2712
2713| 参数名   | 类型                   | 必填 | 说明                                                         |
2714| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
2715| type     | string                 | 是   | 监听事件,固定为'screenshot',即截屏事件。 |
2716| callback | Callback&lt;void&gt; | 否   | 回调函数。发生截屏事件时的回调。 |
2717
2718**示例:**
2719
2720```js
2721let callback = () => {
2722    console.info('screenshot happened');
2723};
2724try {
2725    windowClass.on('screenshot', callback);
2726} catch (exception) {
2727    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2728}
2729try {
2730    windowClass.off('screenshot', callback);
2731    // 如果通过on开启多个callback进行监听,同时关闭所有监听:
2732    windowClass.off('screenshot');
2733} catch (exception) {
2734    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
2735}
2736```
2737
2738### bindDialogTarget<sup>9+</sup>
2739
2740bindDialogTarget(token: rpc.RemoteObject, deathCallback: Callback&lt;void&gt;, callback: AsyncCallback&lt;void&gt;): void
2741
2742绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用callback异步回调。
2743
2744**系统接口:** 此接口为系统接口。
2745
2746**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2747
2748**参数:**
2749
2750| 参数名       | 类型                      | 必填 | 说明                  |
2751| ----------- | ------------------------- | ---- | -------------------- |
2752| token       | [rpc.RemoteObject](js-apis-rpc.md#remoteobject) | 是   | 目标窗口token值。 |
2753| deathCallback | Callback&lt;void&gt;        | 是   | 模态窗口销毁监听。 |
2754| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
2755
2756**错误码:**
2757
2758以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2759
2760| 错误码ID | 错误信息 |
2761| ------- | -------------------------------------------- |
2762| 1300002 | This window state is abnormal.               |
2763| 1300003 | This window manager service works abnormally. |
2764
2765**示例:**
2766
2767```js
2768import rpc from '@ohos.rpc';
2769
2770class MyDeathRecipient {
2771    onRemoteDied() {
2772        console.log('server died');
2773    }
2774}
2775class TestRemoteObject extends rpc.RemoteObject {
2776    constructor(descriptor) {
2777        super(descriptor);
2778    }
2779    addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2780        return true;
2781    }
2782    removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2783        return true;
2784    }
2785    isObjectDead(): boolean {
2786        return false;
2787    }
2788}
2789
2790let token = new TestRemoteObject('testObject');
2791let windowClass = null;
2792let config = {name: "dialogWindow", windowType: window.WindowType.TYPE_DIALOG, ctx: this.context};
2793try {
2794    window.createWindow(config, (err, data) => {
2795        if (err.code) {
2796            console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
2797            return;
2798        }
2799        windowClass = data;
2800    });
2801    windowClass.bindDialogTarget(token, () => {
2802        console.info('Dialog Window Need Destroy.');
2803    }, (err) => {
2804        if (err.code) {
2805            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
2806            return;
2807        }
2808        console.info('Succeeded in binding dialog target.');
2809    });
2810} catch (exception) {
2811    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception));
2812}
2813```
2814
2815### bindDialogTarget<sup>9+</sup>
2816
2817bindDialogTarget(token: rpc.RemoteObject, deathCallback: Callback&lt;void&gt;): Promise&lt;void&gt;
2818
2819绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用Promise异步回调。
2820
2821**系统接口:** 此接口为系统接口。
2822
2823**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2824
2825**参数:**
2826
2827| 参数名       | 类型                      | 必填 | 说明                  |
2828| ----------- | ------------------------- | ---- | -------------------- |
2829| token       | [rpc.RemoteObject](js-apis-rpc.md#remoteobject) | 是   | 目标窗口token值。 |
2830| deathCallback | Callback&lt;void&gt;        | 是   | 模态窗口销毁监听。 |
2831
2832**返回值:**
2833
2834| 类型                | 说明                      |
2835| ------------------- | ------------------------- |
2836| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2837
2838**错误码:**
2839
2840以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2841
2842| 错误码ID | 错误信息 |
2843| ------- | -------------------------------------------- |
2844| 1300002 | This window state is abnormal.               |
2845| 1300003 | This window manager service works abnormally. |
2846
2847**示例:**
2848
2849```js
2850import rpc from '@ohos.rpc';
2851
2852class MyDeathRecipient {
2853    onRemoteDied() {
2854        console.log('server died');
2855    }
2856}
2857class TestRemoteObject extends rpc.RemoteObject {
2858    constructor(descriptor) {
2859        super(descriptor);
2860    }
2861    addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2862        return true;
2863    }
2864    removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2865        return true;
2866    }
2867    isObjectDead(): boolean {
2868        return false;
2869    }
2870}
2871
2872let token = new TestRemoteObject('testObject');
2873let windowClass = null;
2874let config = {name: "dialogWindow", windowType: window.WindowType.TYPE_DIALOG, ctx: this.context};
2875try {
2876    window.createWindow(config, (err, data) => {
2877        if (err.code) {
2878            console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
2879            return;
2880        }
2881        windowClass = data;
2882    });
2883    let promise = windowClass.bindDialogTarget(token, () => {
2884        console.info('Dialog Window Need Destroy.');
2885    });
2886    promise.then(()=> {
2887        console.info('Succeeded in binding dialog target.');
2888    }).catch((err)=>{
2889            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
2890    });
2891} catch (exception) {
2892    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception));
2893}
2894```
2895
2896### bindDialogTarget<sup>9+</sup>
2897
2898bindDialogTarget(requestInfo: dialogRequest.RequestInfo, deathCallback: Callback&lt;void&gt;, callback: AsyncCallback&lt;void&gt;): void
2899
2900绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用callback异步回调。
2901
2902**系统接口:** 此接口为系统接口。
2903
2904**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2905
2906**参数:**
2907
2908| 参数名       | 类型                      | 必填 | 说明                  |
2909| ----------- | ------------------------- | ---- | -------------------- |
2910| requestInfo | [dialogRequest.RequestInfo](js-apis-app-ability-dialogRequest.md#requestinfo) | 是   | 目标窗口RequestInfo值。 |
2911| deathCallback | Callback&lt;void&gt;    | 是   | 模态窗口销毁监听。 |
2912| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
2913
2914**错误码:**
2915
2916以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2917
2918| 错误码ID | 错误信息 |
2919| ------- | -------------------------------------------- |
2920| 1300002 | This window state is abnormal.               |
2921| 1300003 | This window manager service works abnormally. |
2922
2923**示例:**
2924
2925```js
2926import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
2927import rpc from '@ohos.rpc';
2928import dialogRequest from '@ohos.app.ability.dialogRequest';
2929import window from '@ohos.window';
2930
2931export default class ServiceExtAbility extends ServiceExtensionAbility {
2932    onCreate(want) {
2933        console.info('onCreate');
2934    }
2935
2936    onRequest(want, startId) {
2937        console.info('onRequest');
2938        let windowClass = null;
2939        let config = {name: "dialogWindow", windowType: window.WindowType.TYPE_DIALOG, ctx: this.context};
2940        try {
2941            window.createWindow(config, (err, data) => {
2942                if (err.code) {
2943                    console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
2944                    return;
2945                }
2946                windowClass = data;
2947            });
2948            let requestInfo = dialogRequest.getRequestInfo(want)
2949            windowClass.bindDialogTarget(requestInfo, () => {
2950                console.info('Dialog Window Need Destroy.');
2951            }, (err) => {
2952                if (err.code) {
2953                    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
2954                    return;
2955                }
2956                console.info('Succeeded in binding dialog target.');
2957            });
2958        } catch(err) {
2959            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err))
2960        }
2961    }
2962
2963    onConnect(want) {
2964        console.info('onConnect');
2965    }
2966
2967    onDisconnect(want) {
2968        console.info('onDisconnect');
2969    }
2970
2971    onDestroy() {
2972        console.info('onDestroy');
2973    }
2974}
2975```
2976
2977### bindDialogTarget<sup>9+</sup>
2978
2979bindDialogTarget(requestInfo: dialogRequest.RequestInfo, deathCallback: Callback&lt;void&gt;): Promise&lt;void&gt;
2980
2981绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用Promise异步回调。
2982
2983**系统接口:** 此接口为系统接口。
2984
2985**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2986
2987**参数:**
2988
2989| 参数名       | 类型                      | 必填 | 说明                  |
2990| ----------- | ------------------------- | ---- | -------------------- |
2991| requestInfo | [dialogRequest.RequestInfo](js-apis-app-ability-dialogRequest.md#requestinfo) | 是   | 目标窗口RequestInfo值。 |
2992| deathCallback | Callback&lt;void&gt;    | 是   | 模态窗口销毁监听。 |
2993
2994**返回值:**
2995
2996| 类型                | 说明                      |
2997| ------------------- | ------------------------- |
2998| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2999
3000**错误码:**
3001
3002以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3003
3004| 错误码ID | 错误信息 |
3005| ------- | -------------------------------------------- |
3006| 1300002 | This window state is abnormal.               |
3007| 1300003 | This window manager service works abnormally. |
3008
3009**示例:**
3010
3011```js
3012import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
3013import rpc from '@ohos.rpc';
3014import dialogRequest from '@ohos.app.ability.dialogRequest';
3015import window from '@ohos.window';
3016
3017export default class ServiceExtAbility extends ServiceExtensionAbility {
3018    onCreate(want) {
3019        console.info('onCreate');
3020    }
3021
3022    onRequest(want, startId) {
3023        console.info('onRequest');
3024        let windowClass = null;
3025        let config = {name: "dialogWindow", windowType: window.WindowType.TYPE_DIALOG, ctx: this.context};
3026        try {
3027            window.createWindow(config, (err, data) => {
3028                if (err.code) {
3029                    console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
3030                    return;
3031                }
3032                windowClass = data;
3033            });
3034            let requestInfo = dialogRequest.getRequestInfo(want)
3035            let promise = windowClass.bindDialogTarget(requestInfo, () => {
3036                console.info('Dialog Window Need Destroy.');
3037            });
3038            promise.then(()=> {
3039                console.info('Succeeded in binding dialog target.');
3040            }).catch((err)=>{
3041                    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
3042            });
3043        } catch(err) {
3044            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err))
3045        }
3046    }
3047
3048    onConnect(want) {
3049        console.info('onConnect');
3050    }
3051
3052    onDisconnect(want) {
3053        console.info('onDisconnect');
3054    }
3055
3056    onDestroy() {
3057        console.info('onDestroy');
3058    }
3059}
3060```
3061
3062### isWindowSupportWideGamut<sup>9+</sup>
3063
3064isWindowSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
3065
3066判断当前窗口是否支持广色域模式,使用callback异步回调。
3067
3068**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3069
3070**参数:**
3071
3072| 参数名 | 类型 | 必填 | 说明 |
3073| -------- | ---------------------------- | -- | -------------------------------------------------------------------------------- |
3074| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
3075
3076**错误码:**
3077
3078以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3079
3080| 错误码ID | 错误信息 |
3081| ------- | ------------------------------ |
3082| 1300002 | This window state is abnormal. |
3083
3084**示例:**
3085
3086```js
3087windowClass.isWindowSupportWideGamut((err, data) => {
3088    if (err.code) {
3089        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
3090        return;
3091    }
3092    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
3093});
3094```
3095
3096### isWindowSupportWideGamut<sup>9+</sup>
3097
3098isWindowSupportWideGamut(): Promise&lt;boolean&gt;
3099
3100判断当前窗口是否支持广色域模式,使用Promise异步回调。
3101
3102**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3103
3104**返回值:**
3105
3106| 类型 | 说明 |
3107| ---------------------- | ------------------------------------------------------------------------------------ |
3108| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
3109
3110**错误码:**
3111
3112以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3113
3114| 错误码ID | 错误信息 |
3115| ------- | ------------------------------ |
3116| 1300002 | This window state is abnormal. |
3117
3118**示例:**
3119
3120```js
3121let promise = windowClass.isWindowSupportWideGamut();
3122promise.then((data)=> {
3123    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
3124}).catch((err)=>{
3125    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
3126});
3127```
3128
3129### setWindowColorSpace<sup>9+</sup>
3130
3131setWindowColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
3132
3133设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。
3134
3135**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3136
3137**参数:**
3138
3139| 参数名 | 类型 | 必填 | 说明 |
3140| ---------- | ------------------------- | -- | ----------- |
3141| colorSpace | [ColorSpace](#colorspace8) | 是 | 设置色域模式。 |
3142| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。   |
3143
3144**错误码:**
3145
3146以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3147
3148| 错误码ID | 错误信息 |
3149| ------- | ------------------------------ |
3150| 1300002 | This window state is abnormal. |
3151
3152**示例:**
3153
3154```js
3155try {
3156    windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
3157        if (err.code) {
3158            console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
3159            return;
3160        }
3161        console.info('Succeeded in setting window colorspace.');
3162    });
3163} catch (exception) {
3164    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
3165}
3166```
3167
3168### setWindowColorSpace<sup>9+</sup>
3169
3170setWindowColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
3171
3172设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。
3173
3174**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3175
3176**参数:**
3177
3178| 参数名 | 类型 | 必填 | 说明 |
3179| ---------- | ------------------------- | -- | ------------- |
3180| colorSpace | [ColorSpace](#colorspace8) | 是 | 设置色域模式。 |
3181
3182**返回值:**
3183
3184| 类型 | 说明 |
3185| ------------------- | ------------------------ |
3186| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3187
3188**错误码:**
3189
3190以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3191
3192| 错误码ID | 错误信息 |
3193| ------- | ------------------------------ |
3194| 1300002 | This window state is abnormal. |
3195
3196**示例:**
3197
3198```js
3199try {
3200    let promise = windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT);
3201    promise.then(()=> {
3202        console.info('Succeeded in setting window colorspace.');
3203    }).catch((err)=>{
3204        console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
3205    });
3206} catch (exception) {
3207    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
3208}
3209```
3210
3211### getWindowColorSpace<sup>9+</sup>
3212
3213getWindowColorSpace(): ColorSpace
3214
3215获取当前窗口色域模式。
3216
3217**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3218
3219**返回值:**
3220
3221| 类型 | 说明 |
3222| ------------------------- | ------------- |
3223| [ColorSpace](#colorspace8) | 当前色域模式。 |
3224
3225**错误码:**
3226
3227以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3228
3229| 错误码ID | 错误信息 |
3230| ------- | ------------------------------ |
3231| 1300002 | This window state is abnormal. |
3232
3233**示例:**
3234
3235```js
3236let colorSpace = windowClass.getWindowColorSpace();
3237```
3238
3239### setWindowBackgroundColor<sup>9+</sup>
3240
3241setWindowBackgroundColor(color: string): void
3242
3243设置窗口的背景色。Stage模型下,该接口需要在[loadContent()](#loadcontent9)或[setUIContent()](#setuicontent9)调用生效后使用。
3244
3245**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3246
3247**参数:**
3248
3249| 参数名 | 类型 | 必填 | 说明 |
3250| ----- | ------ | -- | ----------------------------------------------------------------------- |
3251| color | string | 是 | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
3252
3253**错误码:**
3254
3255以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3256
3257| 错误码ID | 错误信息 |
3258| ------- | ------------------------------ |
3259| 1300002 | This window state is abnormal. |
3260
3261**示例:**
3262
3263```js
3264let color = '#00ff33';
3265try {
3266    windowClass.setWindowBackgroundColor(color);
3267} catch (exception) {
3268    console.error('Failed to set the background color. Cause: ' + JSON.stringify(exception));
3269}
3270```
3271
3272### setWindowBrightness<sup>9+</sup>
3273
3274setWindowBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void
3275
3276设置屏幕亮度值,使用callback异步回调。
3277
3278当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
3279
3280**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3281
3282**参数:**
3283
3284| 参数名 | 类型 | 必填 | 说明                                        |
3285| ---------- | ------------------------- | -- |-------------------------------------------|
3286| brightness | number                    | 是 | 屏幕亮度值。该参数为浮点数,取值范围为[0.0, 1.0]。其取1.0时表示最亮。 |
3287| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                     |
3288
3289**错误码:**
3290
3291以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3292
3293| 错误码ID | 错误信息 |
3294| ------- | -------------------------------------------- |
3295| 1300002 | This window state is abnormal.               |
3296| 1300003 | This window manager service works abnormally. |
3297
3298**示例:**
3299
3300```js
3301let brightness = 1;
3302try {
3303    windowClass.setWindowBrightness(brightness, (err) => {
3304        if (err.code) {
3305            console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
3306            return;
3307        }
3308        console.info('Succeeded in setting the brightness.');
3309    });
3310} catch (exception) {
3311    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
3312}
3313```
3314
3315### setWindowBrightness<sup>9+</sup>
3316
3317setWindowBrightness(brightness: number): Promise&lt;void&gt;
3318
3319设置屏幕亮度值,使用Promise异步回调。
3320
3321当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
3322
3323**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3324
3325**参数:**
3326
3327| 参数名 | 类型 | 必填 | 说明                                     |
3328| ---------- | ------ | -- |----------------------------------------|
3329| brightness | number | 是 | 屏幕亮度值。该参数为浮点数,取值范围为[0.0, 1.0]。1.0表示最亮。 |
3330
3331**返回值:**
3332
3333| 类型 | 说明 |
3334| ------------------- | ------------------------ |
3335| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3336
3337**错误码:**
3338
3339以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3340
3341| 错误码ID | 错误信息 |
3342| ------- | -------------------------------------------- |
3343| 1300002 | This window state is abnormal.               |
3344| 1300003 | This window manager service works abnormally. |
3345
3346**示例:**
3347
3348```js
3349let brightness = 1;
3350try {
3351    let promise = windowClass.setWindowBrightness(brightness);
3352    promise.then(()=> {
3353        console.info('Succeeded in setting the brightness.');
3354    }).catch((err)=>{
3355        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
3356    });
3357} catch (exception) {
3358    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
3359}
3360```
3361
3362### setWindowFocusable<sup>9+</sup>
3363
3364setWindowFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
3365
3366设置点击时是否支持切换焦点窗口,使用callback异步回调。
3367
3368**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3369
3370**参数:**
3371
3372| 参数名 | 类型 | 必填 | 说明 |
3373| ----------- | ------------------------- | -- | ------------------------------------------------------- |
3374| isFocusable | boolean                   | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
3375| callback    | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                               |
3376
3377**错误码:**
3378
3379以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3380
3381| 错误码ID | 错误信息 |
3382| ------- | -------------------------------------------- |
3383| 1300002 | This window state is abnormal.               |
3384| 1300003 | This window manager service works abnormally. |
3385
3386**示例:**
3387
3388```js
3389let isFocusable = true;
3390try {
3391    windowClass.setWindowFocusable(isFocusable, (err) => {
3392        if (err.code) {
3393            console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
3394            return;
3395        }
3396        console.info('Succeeded in setting the window to be focusable.');
3397    });
3398} catch (exception) {
3399    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
3400}
3401```
3402
3403### setWindowFocusable<sup>9+</sup>
3404
3405setWindowFocusable(isFocusable: boolean): Promise&lt;void&gt;
3406
3407设置点击时是否支持切换焦点窗口,使用Promise异步回调。
3408
3409**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3410
3411**参数:**
3412
3413| 参数名 | 类型 | 必填 | 说明 |
3414| ----------- | ------- | -- | -------------------------------------------------------- |
3415| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。  |
3416
3417**返回值:**
3418
3419| 类型 | 说明 |
3420| ------------------- | ------------------------ |
3421| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3422
3423**错误码:**
3424
3425以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3426
3427| 错误码ID | 错误信息 |
3428| ------- | -------------------------------------------- |
3429| 1300002 | This window state is abnormal.               |
3430| 1300003 | This window manager service works abnormally. |
3431
3432**示例:**
3433
3434```js
3435let isFocusable = true;
3436try {
3437    let promise = windowClass.setWindowFocusable(isFocusable);
3438    promise.then(()=> {
3439        console.info('Succeeded in setting the window to be focusable.');
3440    }).catch((err)=>{
3441        console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
3442    });
3443} catch (exception) {
3444    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
3445}
3446```
3447
3448### setWindowKeepScreenOn<sup>9+</sup>
3449
3450setWindowKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
3451
3452设置屏幕是否为常亮状态,使用callback异步回调。
3453
3454**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3455
3456**参数:**
3457
3458| 参数名 | 类型 | 必填 | 说明 |
3459| -------------- | ------------------------- | -- | ---------------------------------------------------- |
3460| isKeepScreenOn | boolean                   | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。  |
3461| callback       | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                            |
3462
3463**错误码:**
3464
3465以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3466
3467| 错误码ID | 错误信息 |
3468| ------- | -------------------------------------------- |
3469| 1300002 | This window state is abnormal.               |
3470| 1300003 | This window manager service works abnormally. |
3471
3472**示例:**
3473
3474```js
3475let isKeepScreenOn = true;
3476try {
3477    windowClass.setWindowKeepScreenOn(isKeepScreenOn, (err) => {
3478        if (err.code) {
3479            console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
3480            return;
3481        }
3482        console.info('Succeeded in setting the screen to be always on.');
3483    });
3484} catch (exception) {
3485    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
3486}
3487```
3488
3489### setWindowKeepScreenOn<sup>9+</sup>
3490
3491setWindowKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
3492
3493设置屏幕是否为常亮状态,使用Promise异步回调。
3494
3495**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3496
3497**参数:**
3498
3499| 参数名 | 类型 | 必填 | 说明 |
3500| -------------- | ------- | -- | --------------------------------------------------- |
3501| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
3502
3503**返回值:**
3504
3505| 类型 | 说明 |
3506| ------------------- | ------------------------ |
3507| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3508
3509**错误码:**
3510
3511以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3512
3513| 错误码ID | 错误信息 |
3514| ------- | -------------------------------------------- |
3515| 1300002 | This window state is abnormal.               |
3516| 1300003 | This window manager service works abnormally. |
3517
3518**示例:**
3519
3520```js
3521let isKeepScreenOn = true;
3522try {
3523    let promise = windowClass.setWindowKeepScreenOn(isKeepScreenOn);
3524    promise.then(() => {
3525        console.info('Succeeded in setting the screen to be always on.');
3526    }).catch((err)=>{
3527        console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err));
3528    });
3529} catch (exception) {
3530    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
3531}
3532```
3533
3534### setWakeUpScreen()<sup>9+</sup>
3535
3536setWakeUpScreen(wakeUp: boolean): void
3537
3538窗口唤醒屏幕。
3539
3540**系统接口:** 此接口为系统接口。
3541
3542**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3543
3544**参数:**
3545
3546| 参数名           | 类型    | 必填 | 说明                         |
3547| ---------------- | ------- | ---- | ---------------------------- |
3548| wakeUp           | boolean | 是   | 是否设置唤醒屏幕。true表示唤醒;false表示不唤醒。  |
3549
3550**错误码:**
3551
3552以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3553
3554| 错误码ID | 错误信息 |
3555| ------- | -------------------------------------------- |
3556| 1300002 | This window state is abnormal.               |
3557| 1300003 | This window manager service works abnormally. |
3558
3559**示例:**
3560
3561```js
3562let wakeUp = true;
3563try {
3564    windowClass.setWakeUpScreen(wakeUp);
3565} catch (exception) {
3566    console.error('Failed to wake up the screen. Cause: ' + JSON.stringify(exception));
3567}
3568```
3569
3570### setWindowPrivacyMode<sup>9+</sup>
3571
3572setWindowPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
3573
3574设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3575
3576**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3577
3578**需要权限:** ohos.permission.PRIVACY_WINDOW
3579
3580**参数:**
3581
3582| 参数名 | 类型 | 必填 | 说明 |
3583| ------------- | ------------------------- | -- | ------------------------------------------------------ |
3584| isPrivacyMode | boolean                   | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。  |
3585| callback      | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                              |
3586
3587**错误码:**
3588
3589以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3590
3591| 错误码ID | 错误信息 |
3592| ------- | ------------------------------ |
3593| 1300002 | This window state is abnormal. |
3594
3595**示例:**
3596
3597```js
3598let isPrivacyMode = true;
3599try {
3600    windowClass.setWindowPrivacyMode(isPrivacyMode, (err) => {
3601        if (err.code) {
3602            console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
3603            return;
3604        }
3605        console.info('Succeeded in setting the window to privacy mode.');
3606    });
3607} catch (exception) {
3608    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
3609}
3610```
3611
3612### setWindowPrivacyMode<sup>9+</sup>
3613
3614setWindowPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
3615
3616设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3617
3618**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3619
3620**需要权限:** ohos.permission.PRIVACY_WINDOW
3621
3622**参数:**
3623
3624| 参数名 | 类型 | 必填 | 说明 |
3625| ------------- | ------- | -- | ----------------------------------------------------- |
3626| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
3627
3628**返回值:**
3629
3630| 类型 | 说明 |
3631| ------------------- | ------------------------ |
3632| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3633
3634**错误码:**
3635
3636以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3637
3638| 错误码ID | 错误信息 |
3639| ------- | ------------------------------ |
3640| 1300002 | This window state is abnormal. |
3641
3642**示例:**
3643
3644```js
3645let isPrivacyMode = true;
3646try {
3647    let promise = windowClass.setWindowPrivacyMode(isPrivacyMode);
3648    promise.then(()=> {
3649        console.info('Succeeded in setting the window to privacy mode.');
3650    }).catch((err)=>{
3651        console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
3652    });
3653} catch (exception) {
3654    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
3655}
3656```
3657
3658### setSnapshotSkip<sup>9+</sup>
3659setSnapshotSkip(isSkip: boolean): void
3660
3661截屏录屏是否忽略当前窗口。
3662
3663**系统接口:** 此接口为系统接口。
3664
3665**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3666
3667**参数:**
3668
3669| 参数名        | 类型    | 必填 | 说明                 |
3670| ------------- | ------- | ---- | -------------------- |
3671| isSkip | boolean | 是   | 截屏录屏是否忽略当前窗口,默认为false。<br>true表示忽略当前窗口,false表示不忽略当前窗口。</br> |
3672
3673**错误码:**
3674
3675以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3676
3677| 错误码ID | 错误信息 |
3678| ------- | ------------------------------ |
3679| 1300002 | This window state is abnormal. |
3680
3681```js
3682let isSkip = true;
3683try {
3684    windowClass.setSnapshotSkip(isSkip);
3685} catch (exception) {
3686    console.error('Failed to Skip. Cause: ' + JSON.stringify(exception));
3687};
3688```
3689
3690### setWindowTouchable<sup>9+</sup>
3691
3692setWindowTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void
3693
3694设置窗口是否为可触状态,使用callback异步回调。
3695
3696**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3697
3698**参数:**
3699
3700| 参数名 | 类型 | 必填 | 说明 |
3701| ----------- | ------------------------- | -- | ----------------------------------------------- |
3702| isTouchable | boolean                   | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 |
3703| callback    | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                        |
3704
3705**错误码:**
3706
3707以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3708
3709| 错误码ID | 错误信息 |
3710| ------- | -------------------------------------------- |
3711| 1300002 | This window state is abnormal.               |
3712| 1300003 | This window manager service works abnormally. |
3713
3714**示例:**
3715
3716```js
3717let isTouchable = true;
3718try {
3719    windowClass.setWindowTouchable(isTouchable, (err) => {
3720        if (err.code) {
3721            console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
3722            return;
3723        }
3724        console.info('Succeeded in setting the window to be touchable.');
3725    });
3726} catch (exception) {
3727    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
3728}
3729```
3730
3731### setWindowTouchable<sup>9+</sup>
3732
3733setWindowTouchable(isTouchable: boolean): Promise&lt;void&gt;
3734
3735设置窗口是否为可触状态,使用Promise异步回调。
3736
3737**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3738
3739**参数:**
3740
3741| 参数名 | 类型 | 必填 | 说明 |
3742| ----------- | ------- | -- | ----------------------------------------------- |
3743| isTouchable | boolean | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 |
3744
3745**返回值:**
3746
3747| 类型 | 说明 |
3748| ------------------- | ------------------------- |
3749| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3750
3751**错误码:**
3752
3753以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3754
3755| 错误码ID | 错误信息 |
3756| ------- | -------------------------------------------- |
3757| 1300002 | This window state is abnormal.               |
3758| 1300003 | This window manager service works abnormally. |
3759
3760**示例:**
3761
3762```js
3763let isTouchable = true;
3764try {
3765    let promise = windowClass.setWindowTouchable(isTouchable);
3766    promise.then(()=> {
3767        console.info('Succeeded in setting the window to be touchable.');
3768    }).catch((err)=>{
3769        console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
3770    });
3771} catch (exception) {
3772    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
3773}
3774```
3775
3776### setForbidSplitMove<sup>9+</sup>
3777
3778setForbidSplitMove(isForbidSplitMove: boolean, callback: AsyncCallback&lt;void&gt;): void
3779
3780设置窗口在分屏模式下是否被禁止移动,使用callback异步回调。
3781
3782**系统接口:** 此接口为系统接口。
3783
3784**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3785
3786**参数:**
3787
3788| 参数名      | 类型                      | 必填 | 说明                 |
3789| ----------- | ------------------------- | ---- | -------------------- |
3790| isForbidSplitMove | boolean                   | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
3791| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
3792
3793**错误码:**
3794
3795以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3796
3797| 错误码ID | 错误信息 |
3798| ------- | -------------------------------------------- |
3799| 1300002 | This window state is abnormal.               |
3800| 1300003 | This window manager service works abnormally. |
3801
3802**示例:**
3803
3804```js
3805let isForbidSplitMove = true;
3806try {
3807    windowClass.setForbidSplitMove(isForbidSplitMove, (err) => {
3808        if (err.code) {
3809            console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(err));
3810            return;
3811        }
3812        console.info('Succeeded in forbidding window moving in split screen mode.');
3813    });
3814} catch (exception) {
3815    console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception));
3816}
3817```
3818
3819### setForbidSplitMove<sup>9+</sup>
3820
3821setForbidSplitMove(isForbidSplitMove: boolean): Promise&lt;void&gt;
3822
3823设置窗口在分屏模式下是否被禁止移动,使用Promise异步回调。
3824
3825**系统接口:** 此接口为系统接口。
3826
3827**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3828
3829**参数:**
3830
3831| 参数名      | 类型    | 必填 | 说明                 |
3832| ----------- | ------- | ---- | -------------------- |
3833| isForbidSplitMove | boolean | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
3834
3835**返回值:**
3836
3837| 类型                | 说明                      |
3838| ------------------- | ------------------------- |
3839| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3840
3841**错误码:**
3842
3843以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3844
3845| 错误码ID | 错误信息 |
3846| ------- | -------------------------------------------- |
3847| 1300002 | This window state is abnormal.               |
3848| 1300003 | This window manager service works abnormally. |
3849
3850**示例:**
3851
3852```js
3853let isForbidSplitMove = true;
3854try {
3855    let promise = windowClass.setForbidSplitMove(isForbidSplitMove);
3856    promise.then(()=> {
3857        console.info('Succeeded in forbidding window moving in split screen mode.');
3858    }).catch((err)=>{
3859        console.error('Failed to forbid window moving in split screen mode. Cause: ' + JSON.stringify(err));
3860    });
3861} catch (exception) {
3862    console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception));
3863}
3864```
3865
3866### snapshot<sup>9+</sup>
3867
3868snapshot(callback: AsyncCallback&lt;image.PixelMap&gt;): void
3869
3870获取窗口截图,使用callback异步回调。
3871
3872**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3873
3874**参数:**
3875
3876| 参数名      | 类型                      | 必填 | 说明                 |
3877| ----------- | ------------------------- | ---- | -------------------- |
3878| callback    | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是   | 回调函数。  |
3879
3880**错误码:**
3881
3882以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3883
3884| 错误码ID | 错误信息 |
3885| ------- | ------------------------------ |
3886| 1300002 | This window state is abnormal. |
3887
3888**示例:**
3889
3890```js
3891windowClass.snapshot((err, pixelMap) => {
3892    if (err.code) {
3893        console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
3894        return;
3895    }
3896    console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
3897    pixelMap.release(); // PixelMap使用完后及时释放内存
3898});
3899```
3900
3901### snapshot<sup>9+</sup>
3902
3903snapshot(): Promise&lt;image.PixelMap&gt;
3904
3905获取窗口截图,使用Promise异步回调。
3906
3907**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3908
3909**返回值:**
3910
3911| 类型                | 说明                      |
3912| ------------------- | ------------------------- |
3913| Promise&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | Promise对象。返回当前窗口截图。 |
3914
3915**错误码:**
3916
3917以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3918
3919| 错误码ID | 错误信息 |
3920| ------- | ------------------------------ |
3921| 1300002 | This window state is abnormal. |
3922
3923**示例:**
3924
3925```js
3926let promise = windowClass.snapshot();
3927promise.then((pixelMap)=> {
3928    console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
3929    pixelMap.release(); // PixelMap使用完后及时释放内存
3930}).catch((err)=>{
3931    console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
3932});
3933```
3934
3935### opacity<sup>9+</sup>
3936
3937opacity(opacity: number): void
3938
3939设置窗口不透明度。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
3940
3941**系统接口:** 此接口为系统接口。
3942
3943**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3944
3945**参数:**
3946
3947| 参数名  | 类型   | 必填 | 说明                                                 |
3948| ------- | ------ | ---- |----------------------------------------------------|
3949| opacity | number | 是   | 不透明度。该参数为浮点数,取值范围为[0.0, 1.0]。0.0表示完全透明,1.0表示完全不透明。 |
3950
3951**错误码:**
3952
3953以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3954
3955| 错误码ID | 错误信息 |
3956| ------- | ------------------------------ |
3957| 1300002 | This window state is abnormal. |
3958| 1300004 | Unauthorized operation.  |
3959
3960**示例:**
3961
3962```js
3963try {
3964    windowClass.opacity(0.5);
3965} catch (exception) {
3966    console.error('Failed to opacity. Cause: ' + JSON.stringify(exception));
3967}
3968```
3969
3970### scale<sup>9+</sup>
3971
3972scale(scaleOptions: ScaleOptions): void
3973
3974设置窗口缩放参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
3975
3976**系统接口:** 此接口为系统接口。
3977
3978**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3979
3980**参数:**
3981
3982| 参数名       | 类型                           | 必填 | 说明       |
3983| ------------ | ------------------------------ | ---- | ---------- |
3984| scaleOptions | [ScaleOptions](#scaleoptions9) | 是   | 缩放参数。 |
3985
3986**错误码:**
3987
3988以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3989
3990| 错误码ID | 错误信息 |
3991| ------- | ------------------------------ |
3992| 1300002 | This window state is abnormal. |
3993| 1300004 | Unauthorized operation.  |
3994
3995**示例:**
3996
3997```js
3998let obj : window.ScaleOptions = {
3999  x : 2.0,
4000  y : 1.0,
4001  pivotX : 0.5,
4002  pivotY : 0.5
4003};
4004try {
4005    windowClass.scale(obj);
4006} catch (exception) {
4007    console.error('Failed to scale. Cause: ' + JSON.stringify(exception));
4008}
4009```
4010
4011### rotate<sup>9+</sup>
4012
4013rotate(rotateOptions: RotateOptions): void
4014
4015设置窗口旋转参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
4016
4017**系统接口:** 此接口为系统接口。
4018
4019**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4020
4021**参数:**
4022
4023| 参数名        | 类型                             | 必填 | 说明       |
4024| ------------- | -------------------------------- | ---- | ---------- |
4025| rotateOptions | [RotateOptions](#rotateoptions9) | 是   | 旋转参数。 |
4026
4027**错误码:**
4028
4029以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4030
4031| 错误码ID | 错误信息 |
4032| ------- | ------------------------------ |
4033| 1300002 | This window state is abnormal. |
4034| 1300004 | Unauthorized operation.  |
4035
4036**示例:**
4037
4038```js
4039let obj : window.RotateOptions = {
4040  x : 1.0,
4041  y : 1.0,
4042  z : 45.0,
4043  pivotX : 0.5,
4044  pivotY : 0.5
4045};
4046try {
4047    windowClass.rotate(obj);
4048} catch (exception) {
4049    console.error('Failed to rotate. Cause: ' + JSON.stringify(exception));
4050}
4051```
4052
4053### translate<sup>9+</sup>
4054
4055translate(translateOptions: TranslateOptions): void
4056
4057设置窗口平移参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
4058
4059**系统接口:** 此接口为系统接口。
4060
4061**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4062
4063**参数:**
4064
4065| 参数名           | 类型                                   | 必填 | 说明                 |
4066| ---------------- | -------------------------------------- | ---- | -------------------- |
4067| translateOptions | [TranslateOptions](#translateoptions9) | 是   | 平移参数,单位为px。 |
4068
4069**错误码:**
4070
4071以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4072
4073| 错误码ID | 错误信息 |
4074| ------- | ------------------------------ |
4075| 1300002 | This window state is abnormal. |
4076| 1300004 | Unauthorized operation.  |
4077
4078**示例:**
4079
4080```js
4081let obj : window.TranslateOptions = {
4082  x : 100.0,
4083  y : 0.0,
4084  z : 0.0
4085};
4086try {
4087    windowClass.translate(obj);
4088} catch (exception) {
4089    console.error('Failed to translate. Cause: ' + JSON.stringify(exception));
4090}
4091```
4092
4093###  getTransitionController<sup>9+</sup>
4094
4095 getTransitionController(): TransitionController
4096
4097获取窗口属性转换控制器。
4098
4099**系统接口:** 此接口为系统接口。
4100
4101**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4102
4103**返回值:**
4104
4105| 类型                                           | 说明             |
4106| ---------------------------------------------- | ---------------- |
4107| [TransitionController](#transitioncontroller9) | 属性转换控制器。 |
4108
4109**错误码:**
4110
4111以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4112
4113| 错误码ID | 错误信息 |
4114| ------- | ------------------------------ |
4115| 1300002 | This window state is abnormal. |
4116| 1300004 | Unauthorized operation.  |
4117
4118**示例:**
4119
4120```js
4121let controller = windowClass.getTransitionController(); // 获取属性转换控制器
4122controller.animationForHidden = (context : window.TransitionContext) => {
4123	let toWindow = context.toWindow;
4124 	animateTo({
4125    	duration: 1000, // 动画时长
4126        tempo: 0.5, // 播放速率
4127        curve: Curve.EaseInOut, // 动画曲线
4128        delay: 0, // 动画延迟
4129        iterations: 1, // 播放次数
4130        playMode: PlayMode.Normal, // 动画模式
4131        onFinish: ()=> {
4132            context.completeTransition(true)
4133        }
4134      }, () => {
4135        let obj : window.TranslateOptions = {
4136          x : 100.0,
4137          y : 0.0,
4138          z : 0.0
4139        };
4140        toWindow.translate(obj); // 设置动画过程中的属性转换
4141        console.info('toWindow translate end');
4142      }
4143    );
4144    console.info('complete transition end');
4145};
4146windowClass.hideWithAnimation((err, data) => {
4147    if (err.code) {
4148        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
4149        return;
4150    }
4151    console.info('Succeeded in showing the window with animation. Data: ' + JSON.stringify(data));
4152});
4153```
4154
4155### setBlur<sup>9+</sup>
4156
4157setBlur(radius: number): void
4158
4159设置窗口模糊。
4160
4161**系统接口:** 此接口为系统接口。
4162
4163**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4164
4165**参数:**
4166
4167| 参数名 | 类型   | 必填 | 说明                                               |
4168| ------ | ------ | ---- |--------------------------------------------------|
4169| radius | number | 是   | 表示窗口模糊的半径值。该参数为浮点数,取值范围为[0, +∞),取值为0.0时表示关闭窗口模糊。 |
4170
4171**错误码:**
4172
4173以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4174
4175| 错误码ID | 错误信息 |
4176| ------- | ------------------------------ |
4177| 1300002 | This window state is abnormal. |
4178| 1300004 | Unauthorized operation.  |
4179
4180**示例:**
4181
4182```js
4183try {
4184    windowClass.setBlur(4.0);
4185} catch (exception) {
4186    console.error('Failed to set blur. Cause: ' + JSON.stringify(exception));
4187}
4188```
4189
4190### setBackdropBlur<sup>9+</sup>
4191
4192setBackdropBlur(radius: number): void
4193
4194设置窗口背景模糊。
4195
4196**系统接口:** 此接口为系统接口。
4197
4198**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4199
4200**参数:**
4201
4202| 参数名 | 类型   | 必填 | 说明                                                    |
4203| ------ | ------ | ---- |-------------------------------------------------------|
4204| radius | number | 是   | 表示窗口背景模糊的半径值。该参数为浮点数,取值范围为[0.0, +∞),取值为0.0表示关闭窗口背景模糊。 |
4205
4206**错误码:**
4207
4208以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4209
4210| 错误码ID | 错误信息 |
4211| ------- | ------------------------------ |
4212| 1300002 | This window state is abnormal. |
4213| 1300004 | Unauthorized operation.  |
4214
4215**示例:**
4216
4217```js
4218try {
4219    windowClass.setBackdropBlur(4.0);
4220} catch (exception) {
4221    console.error('Failed to set backdrop blur. Cause: ' + JSON.stringify(exception));
4222}
4223```
4224
4225### setBackdropBlurStyle<sup>9+</sup>
4226
4227setBackdropBlurStyle(blurStyle: BlurStyle): void
4228
4229设置窗口背景模糊类型。
4230
4231**系统接口:** 此接口为系统接口。
4232
4233**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4234
4235**参数:**
4236
4237| 参数名    | 类型      | 必填 | 说明                   |
4238| --------- | --------- | ---- | ---------------------- |
4239| blurStyle | [BlurStyle](#blurstyle9) | 是   | 表示窗口背景模糊类型。 |
4240
4241**错误码:**
4242
4243以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4244
4245| 错误码ID | 错误信息 |
4246| ------- | ------------------------------ |
4247| 1300002 | This window state is abnormal. |
4248| 1300004 | Unauthorized operation.  |
4249
4250**示例:**
4251
4252```js
4253try {
4254    windowClass.setBackdropBlurStyle(window.BlurStyle.THIN);
4255} catch (exception) {
4256    console.error('Failed to set backdrop blur style. Cause: ' + JSON.stringify(exception));
4257}
4258```
4259
4260### setShadow<sup>9+</sup>
4261
4262setShadow(radius: number, color?: string, offsetX?: number, offsetY?: number): void
4263
4264设置窗口边缘阴影。
4265
4266**系统接口:** 此接口为系统接口。
4267
4268**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4269
4270**参数:**
4271
4272| 参数名  | 类型   | 必填 | 说明                                                          |
4273| ------- | ------ | ---- |-------------------------------------------------------------|
4274| radius  | number | 是   | 表示窗口边缘阴影的模糊半径。该参数为浮点数,取值范围为[0.0, +∞),取值为0.0时表示关闭窗口边缘阴影。     |
4275| color   | string | 否   | 表示窗口边缘阴影的颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
4276| offsetX | number | 否   | 表示窗口边缘阴影的X轴的偏移量。该参数为浮点数,单位为px。                              |
4277| offsetY | number | 否   | 表示窗口边缘阴影的Y轴的偏移量。该参数为浮点数,单位为px。                              |
4278
4279**错误码:**
4280
4281以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4282
4283| 错误码ID | 错误信息 |
4284| ------- | ------------------------------ |
4285| 1300002 | This window state is abnormal. |
4286| 1300004 | Unauthorized operation.  |
4287
4288**示例:**
4289
4290```js
4291try {
4292    windowClass.setShadow(4.0, '#FF00FF00', 2, 3);
4293} catch (exception) {
4294    console.error('Failed to set shadow. Cause: ' + JSON.stringify(exception));
4295}
4296```
4297
4298### setCornerRadius<sup>9+</sup>
4299
4300setCornerRadius(cornerRadius: number): void
4301
4302设置窗口圆角半径。
4303
4304**系统接口:** 此接口为系统接口。
4305
4306**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4307
4308**参数:**
4309
4310| 参数名      | 类型    | 必填 | 说明                                                 |
4311| ----------- | ------- | ---- |----------------------------------------------------|
4312| radius | number | 是   | 表示窗口圆角的半径值。该参数为浮点数,取值范围为[0.0, +∞),取值为0.0时表示没有窗口圆角。 |
4313
4314**错误码:**
4315
4316以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4317
4318| 错误码ID | 错误信息 |
4319| ------- | ------------------------------ |
4320| 1300002 | This window state is abnormal. |
4321| 1300004 | Unauthorized operation.  |
4322
4323**示例:**
4324
4325```js
4326try {
4327    windowClass.setCornerRadius(4.0);
4328} catch (exception) {
4329    console.error('Failed to set corner radius. Cause: ' + JSON.stringify(exception));
4330}
4331```
4332
4333### show<sup>(deprecated)</sup>
4334
4335show(callback: AsyncCallback&lt;void&gt;): void
4336
4337显示当前窗口,使用callback异步回调。
4338
4339> **说明:**
4340>
4341> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9)。
4342
4343**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4344
4345**参数:**
4346
4347| 参数名   | 类型                      | 必填 | 说明       |
4348| -------- | ------------------------- | ---- | ---------- |
4349| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4350
4351**示例:**
4352
4353```js
4354windowClass.show((err) => {
4355    if (err.code) {
4356        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
4357        return;
4358    }
4359    console.info('Succeeded in showing the window.');
4360});
4361```
4362
4363### show<sup>(deprecated)</sup>
4364
4365show(): Promise&lt;void&gt;
4366
4367显示当前窗口,使用Promise异步回调。
4368
4369> **说明:**
4370>
4371> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9-1)。
4372
4373**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4374
4375**返回值:**
4376
4377| 类型                | 说明                      |
4378| ------------------- | ------------------------- |
4379| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4380
4381**示例:**
4382
4383```js
4384let promise = windowClass.show();
4385promise.then(()=> {
4386    console.info('Succeeded in showing the window.');
4387}).catch((err)=>{
4388    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
4389});
4390```
4391
4392### destroy<sup>(deprecated)</sup>
4393
4394destroy(callback: AsyncCallback&lt;void&gt;): void
4395
4396销毁当前窗口,使用callback异步回调。
4397
4398> **说明:**
4399>
4400> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9)。
4401
4402**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4403
4404**参数:**
4405
4406| 参数名   | 类型                      | 必填 | 说明       |
4407| -------- | ------------------------- | ---- | ---------- |
4408| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4409
4410**示例:**
4411
4412```js
4413windowClass.destroy((err) => {
4414    if (err.code) {
4415        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
4416        return;
4417    }
4418    console.info('Succeeded in destroying the window.');
4419});
4420```
4421
4422### destroy<sup>(deprecated)</sup>
4423
4424destroy(): Promise&lt;void&gt;
4425
4426销毁当前窗口,使用Promise异步回调。
4427
4428> **说明:**
4429>
4430> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9-1)。
4431
4432**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4433
4434**返回值:**
4435
4436| 类型                | 说明                      |
4437| ------------------- | ------------------------- |
4438| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4439
4440**示例:**
4441
4442```js
4443let promise = windowClass.destroy();
4444promise.then(()=> {
4445    console.info('Succeeded in destroying the window.');
4446}).catch((err)=>{
4447    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
4448});
4449```
4450
4451### moveTo<sup>(deprecated)</sup>
4452
4453moveTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
4454
4455移动窗口位置,使用callback异步回调。
4456
4457全屏模式窗口不支持该操作。
4458
4459> **说明:**
4460>
4461> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9)。
4462
4463**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4464
4465**参数:**
4466
4467| 参数名   | 类型                      | 必填 | 说明                                              |
4468| -------- | ------------------------- | ---- | ------------------------------------------------- |
4469| x        | number                    | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px,该参数仅支持整数输入。 |
4470| y        | number                    | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px,该参数仅支持整数输入。 |
4471| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                        |
4472
4473**示例:**
4474
4475```js
4476windowClass.moveTo(300, 300, (err)=>{
4477    if (err.code) {
4478        console.error('Failed to move the window. Cause:' + JSON.stringify(err));
4479        return;
4480    }
4481    console.info('Succeeded in moving the window.');
4482});
4483```
4484
4485### moveTo<sup>(deprecated)</sup>
4486
4487moveTo(x: number, y: number): Promise&lt;void&gt;
4488
4489移动窗口位置,使用Promise异步回调。
4490
4491全屏模式窗口不支持该操作。
4492
4493> **说明:**
4494>
4495> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9-1)。
4496
4497**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4498
4499**参数:**
4500
4501| 参数名 | 类型   | 必填 | 说明                                              |
4502| ------ | ------ | ---- | ------------------------------------------------- |
4503| x      | number | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px,该参数仅支持整数输入。 |
4504| y      | number | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px,该参数仅支持整数输入。 |
4505
4506**返回值:**
4507
4508| 类型                | 说明                      |
4509| ------------------- | ------------------------- |
4510| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4511
4512**示例:**
4513
4514```js
4515let promise = windowClass.moveTo(300, 300);
4516promise.then(()=> {
4517    console.info('Succeeded in moving the window.');
4518}).catch((err)=>{
4519    console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
4520});
4521```
4522
4523### resetSize<sup>(deprecated)</sup>
4524
4525resetSize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
4526
4527改变当前窗口大小,使用callback异步回调。
4528
4529应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
4530
4531系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
4532
4533设置的宽度与高度受到此约束限制。
4534
4535全屏模式窗口不支持该操作。
4536
4537> **说明:**
4538>
4539> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9)。
4540
4541**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4542
4543**参数:**
4544
4545| 参数名   | 类型                      | 必填 | 说明                       |
4546| -------- | ------------------------- | ---- | -------------------------- |
4547| width    | number                    | 是   | 目标窗口的宽度,单位为px,该参数仅支持整数输入。 |
4548| height   | number                    | 是   | 目标窗口的高度,单位为px,该参数仅支持整数输入。 |
4549| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                 |
4550
4551**示例:**
4552
4553```js
4554windowClass.resetSize(500, 1000, (err) => {
4555    if (err.code) {
4556        console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
4557        return;
4558    }
4559    console.info('Succeeded in changing the window size.');
4560});
4561```
4562
4563### resetSize<sup>(deprecated)</sup>
4564
4565resetSize(width: number, height: number): Promise&lt;void&gt;
4566
4567改变当前窗口大小,使用Promise异步回调。
4568
4569应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
4570
4571系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
4572
4573设置的宽度与高度受到此约束限制。
4574
4575全屏模式窗口不支持该操作。
4576
4577> **说明:**
4578>
4579> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9-1)。
4580
4581**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4582
4583**参数:**
4584
4585| 参数名 | 类型   | 必填 | 说明                       |
4586| ------ | ------ | ---- | -------------------------- |
4587| width  | number | 是   | 目标窗口的宽度,单位为px,该参数仅支持整数输入。 |
4588| height | number | 是   | 目标窗口的高度,单位为px,该参数仅支持整数输入。 |
4589
4590**返回值:**
4591
4592| 类型                | 说明                      |
4593| ------------------- | ------------------------- |
4594| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4595
4596**示例:**
4597
4598```js
4599let promise = windowClass.resetSize(500, 1000);
4600promise.then(()=> {
4601    console.info('Succeeded in changing the window size.');
4602}).catch((err)=>{
4603    console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
4604});
4605```
4606
4607### setWindowType<sup>(deprecated)</sup>
4608
4609setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void
4610
4611设置窗口类型,使用callback异步回调。
4612
4613**系统接口:** 此接口为系统接口。
4614
4615> **说明:**
4616>
4617> 从 API version 7开始支持,从API version 9开始废弃。
4618
4619**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4620
4621**参数:**
4622
4623| 参数名   | 类型                      | 必填 | 说明       |
4624| -------- | ------------------------- | ---- | ---------- |
4625| type     | [WindowType](#windowtype7) | 是   | 窗口类型。 |
4626| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4627
4628**示例:**
4629
4630```js
4631let type = window.WindowType.TYPE_APP;
4632windowClass.setWindowType(type, (err) => {
4633  if (err.code) {
4634      console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
4635      return;
4636  }
4637  console.info('Succeeded in setting the window type.');
4638});
4639```
4640
4641### setWindowType<sup>(deprecated)</sup>
4642
4643setWindowType(type: WindowType): Promise&lt;void&gt;
4644
4645设置窗口类型,使用Promise异步回调。
4646
4647**系统接口:** 此接口为系统接口。
4648
4649> **说明:**
4650>
4651> 从 API version 7开始支持,从API version 9开始废弃。
4652
4653**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4654
4655**参数:**
4656
4657| 参数名 | 类型                      | 必填 | 说明       |
4658| ------ | ------------------------- | ---- | ---------- |
4659| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |
4660
4661**返回值:**
4662
4663| 类型                | 说明                      |
4664| ------------------- | ------------------------- |
4665| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4666
4667**示例:**
4668
4669```js
4670let type = window.WindowType.TYPE_APP;
4671let promise = windowClass.setWindowType(type);
4672promise.then(()=> {
4673    console.info('Succeeded in setting the window type.');
4674}).catch((err)=>{
4675    console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
4676});
4677```
4678
4679### getProperties<sup>(deprecated)</sup>
4680
4681getProperties(callback: AsyncCallback&lt;WindowProperties&gt;): void
4682
4683获取当前窗口的属性,使用callback异步回调,返回WindowProperties。
4684
4685> **说明:**
4686>
4687> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。
4688
4689**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4690
4691**参数:**
4692
4693| 参数名   | 类型                                                       | 必填 | 说明                         |
4694| -------- | ---------------------------------------------------------- | ---- | ---------------------------- |
4695| callback | AsyncCallback&lt;[WindowProperties](#windowproperties)&gt; | 是   | 回调函数。返回当前窗口属性。 |
4696
4697**示例:**
4698
4699```js
4700windowClass.getProperties((err, data) => {
4701    if (err.code) {
4702        console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
4703        return;
4704    }
4705    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
4706});
4707```
4708
4709### getProperties<sup>(deprecated)</sup>
4710
4711getProperties(): Promise&lt;WindowProperties&gt;
4712
4713获取当前窗口的属性,使用Promise异步回调,返回WindowProperties。
4714
4715> **说明:**
4716>
4717> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。
4718
4719**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4720
4721**返回值:**
4722
4723| 类型                                                 | 说明                            |
4724| ---------------------------------------------------- | ------------------------------- |
4725| Promise&lt;[WindowProperties](#windowproperties)&gt; | Promise对象。返回当前窗口属性。 |
4726
4727**示例:**
4728
4729```js
4730let promise = windowClass.getProperties();
4731promise.then((data)=> {
4732    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
4733}).catch((err)=>{
4734    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
4735});
4736```
4737
4738### getAvoidArea<sup>(deprecated)</sup>
4739
4740getAvoidArea(type: [AvoidAreaType](#avoidareatype7), callback: AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt;): void
4741
4742获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
4743
4744> **说明:**
4745>
4746> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。
4747
4748**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4749
4750**参数:**
4751
4752| 参数名   | 类型                                            | 必填 | 说明                                                         |
4753| -------- |-----------------------------------------------| ---- | ------------------------------------------------------------ |
4754| type     | [AvoidAreaType](#avoidareatype7)              | 是   | 表示规避区类型。 |
4755| callback | AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回窗口内容规避区域。                             |
4756
4757**示例:**
4758
4759```js
4760let type = window.AvoidAreaType.TYPE_SYSTEM;
4761windowClass.getAvoidArea(type, (err, data) => {
4762    if (err.code) {
4763        console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
4764        return;
4765    }
4766    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
4767});
4768```
4769
4770### getAvoidArea<sup>(deprecated)</sup>
4771
4772getAvoidArea(type: [AvoidAreaType](#avoidareatype7)): Promise&lt;[AvoidArea](#avoidarea7)&gt;
4773
4774获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
4775
4776> **说明:**
4777>
4778> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。
4779
4780**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4781
4782**参数:**
4783
4784| 参数名 | 类型                               | 必填 | 说明                                                         |
4785| ------ |----------------------------------| ---- | ------------------------------------------------------------ |
4786| type   | [AvoidAreaType](#avoidareatype7) | 是   | 表示规避区类型。|
4787
4788**返回值:**
4789
4790| 类型                                      | 说明                                |
4791|-----------------------------------------| ----------------------------------- |
4792| Promise&lt;[AvoidArea](#avoidarea7)&gt; | Promise对象。返回窗口内容规避区域。 |
4793
4794**示例:**
4795
4796```js
4797let type = window.AvoidAreaType.TYPE_SYSTEM;
4798let promise = windowClass.getAvoidArea(type);
4799promise.then((data)=> {
4800    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
4801}).catch((err)=>{
4802    console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
4803});
4804```
4805
4806### setFullScreen<sup>(deprecated)</sup>
4807
4808setFullScreen(isFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
4809
4810设置是否为全屏状态,使用callback异步回调。
4811
4812> **说明:**
4813>
4814> 从 API version 6开始支持,从API version 9开始废弃,推荐联合使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)和[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9)实现全屏。
4815
4816**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4817
4818**参数:**
4819
4820| 参数名       | 类型                      | 必填 | 说明                                           |
4821| ------------ | ------------------------- | ---- | ---------------------------------------------- |
4822| isFullScreen | boolean                   | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
4823| callback     | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                     |
4824
4825**示例:**
4826
4827```js
4828let isFullScreen = true;
4829windowClass.setFullScreen(isFullScreen, (err) => {
4830    if (err.code) {
4831        console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
4832        return;
4833    }
4834    console.info('Succeeded in enabling the full-screen mode.');
4835});
4836```
4837
4838### setFullScreen<sup>(deprecated)</sup>
4839
4840setFullScreen(isFullScreen: boolean): Promise&lt;void&gt;
4841
4842设置是否为全屏状态,使用Promise异步回调。
4843
4844> **说明:**
4845>
4846> 从 API version 6开始支持,从API version 9开始废弃,推荐联合使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)和[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9-1)实现全屏。
4847
4848**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4849
4850**参数:**
4851
4852| 参数名       | 类型    | 必填 | 说明                                           |
4853| ------------ | ------- | ---- | ---------------------------------------------- |
4854| isFullScreen | boolean | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
4855
4856**返回值:**
4857
4858| 类型                | 说明                      |
4859| ------------------- | ------------------------- |
4860| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4861
4862**示例:**
4863
4864```js
4865let isFullScreen = true;
4866let promise = windowClass.setFullScreen(isFullScreen);
4867promise.then(()=> {
4868    console.info('Succeeded in enabling the full-screen mode.');
4869}).catch((err)=>{
4870    console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
4871});
4872```
4873
4874### setLayoutFullScreen<sup>(deprecated)</sup>
4875
4876setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
4877
4878设置窗口的布局是否为全屏显示状态,使用callback异步回调。
4879
4880> **说明:**
4881>
4882> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9)。
4883
4884**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4885
4886**参数:**
4887
4888| 参数名             | 类型                      | 必填 | 说明                                                         |
4889| ------------------ | ------------------------- | ---- | ------------------------------------------------------------ |
4890| isLayoutFullScreen | boolean                   | 是   | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。 |
4891| callback           | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
4892
4893**示例:**
4894
4895```js
4896let isLayoutFullScreen= true;
4897windowClass.setLayoutFullScreen(isLayoutFullScreen, (err) => {
4898    if (err.code) {
4899        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
4900        return;
4901    }
4902    console.info('Succeeded in setting the window layout to full-screen mode.');
4903});
4904```
4905
4906### setLayoutFullScreen<sup>(deprecated)</sup>
4907
4908setLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
4909
4910设置窗口的布局是否为全屏显示状态,使用Promise异步回调。
4911
4912> **说明:**
4913>
4914> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9-1)。
4915
4916**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4917
4918**参数:**
4919
4920| 参数名             | 类型    | 必填 | 说明                                                         |
4921| ------------------ | ------- | ---- | ------------------------------------------------------------ |
4922| isLayoutFullScreen | boolean | 是   | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。 |
4923
4924**返回值:**
4925
4926| 类型                | 说明                      |
4927| ------------------- | ------------------------- |
4928| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4929
4930**示例:**
4931
4932```js
4933let isLayoutFullScreen = true;
4934let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
4935promise.then(()=> {
4936    console.info('Succeeded in setting the window layout to full-screen mode.');
4937}).catch((err)=>{
4938    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
4939});
4940```
4941
4942### setSystemBarEnable<sup>(deprecated)</sup>
4943
4944setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void
4945
4946设置导航栏、状态栏的可见模式,使用callback异步回调。
4947
4948> **说明:**
4949>
4950> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。
4951
4952**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4953
4954**参数:**
4955
4956| 参数名   | 类型                      | 必填 | 说明                                                         |
4957| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
4958| names    | Array<'status'\|'navigation'> | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
4959| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
4960
4961**示例:**
4962
4963```js
4964// 此处以不显示导航栏、状态栏为例
4965let names = [];
4966windowClass.setSystemBarEnable(names, (err) => {
4967    if (err.code) {
4968        console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
4969        return;
4970    }
4971    console.info('Succeeded in setting the system bar to be invisible.');
4972});
4973```
4974
4975### setSystemBarEnable<sup>(deprecated)</sup>
4976
4977setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
4978
4979设置导航栏、状态栏的可见模式,使用Promise异步回调。
4980
4981> **说明:**
4982>
4983> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。
4984
4985**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4986
4987**参数:**
4988
4989| 参数名 | 类型  | 必填 | 说明                                                         |
4990| ------ | ---------------------------- | ---- | ------------------------ |
4991| names  | Array<'status'\|'navigation'> | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
4992
4993**返回值:**
4994
4995| 类型                | 说明                      |
4996| ------------------- | ------------------------- |
4997| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4998
4999**示例:**
5000
5001```js
5002// 此处以不显示导航栏、状态栏为例
5003let names = [];
5004let promise = windowClass.setSystemBarEnable(names);
5005promise.then(()=> {
5006    console.info('Succeeded in setting the system bar to be invisible.');
5007}).catch((err)=>{
5008    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
5009});
5010```
5011
5012### setSystemBarProperties<sup>(deprecated)</sup>
5013
5014setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void
5015
5016设置窗口内导航栏、状态栏的属性,使用callback异步回调。
5017
5018> **说明:**
5019>
5020> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9)。
5021
5022**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5023
5024**参数:**
5025
5026| 参数名              | 类型                                        | 必填 | 说明                   |
5027| ------------------- | ------------------------------------------- | ---- | ---------------------- |
5028| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
5029| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
5030
5031**示例:**
5032
5033```js
5034let SystemBarProperties={
5035    statusBarColor: '#ff00ff',
5036    navigationBarColor: '#00ff00',
5037    //以下两个属性从API Version8开始支持
5038    statusBarContentColor:'#ffffff',
5039    navigationBarContentColor:'#00ffff'
5040};
5041windowClass.setSystemBarProperties(SystemBarProperties, (err) => {
5042    if (err.code) {
5043        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
5044        return;
5045    }
5046    console.info('Succeeded in setting the system bar properties.');
5047});
5048```
5049
5050### setSystemBarProperties<sup>(deprecated)</sup>
5051
5052setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;
5053
5054设置窗口内导航栏、状态栏的属性,使用Promise异步回调。
5055
5056> **说明:**
5057>
5058> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9-1)。
5059
5060**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5061
5062**参数:**
5063
5064| 参数名              | 类型                                        | 必填 | 说明                   |
5065| ------------------- | ------------------------------------------- | ---- | ---------------------- |
5066| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
5067
5068**返回值:**
5069
5070| 类型                | 说明                      |
5071| ------------------- | ------------------------- |
5072| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5073
5074**示例:**
5075
5076```js
5077let SystemBarProperties={
5078    statusBarColor: '#ff00ff',
5079    navigationBarColor: '#00ff00',
5080    //以下两个属性从API Version8开始支持
5081    statusBarContentColor:'#ffffff',
5082    navigationBarContentColor:'#00ffff'
5083};
5084let promise = windowClass.setSystemBarProperties(SystemBarProperties);
5085promise.then(()=> {
5086    console.info('Succeeded in setting the system bar properties.');
5087}).catch((err)=>{
5088    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
5089});
5090```
5091
5092### loadContent<sup>(deprecated)</sup>
5093
5094loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
5095
5096为当前窗口加载具体页面内容,使用callback异步回调。
5097
5098> **说明:**
5099>
5100> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9)。
5101
5102**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5103
5104**参数:**
5105
5106| 参数名   | 类型                      | 必填 | 说明                 |
5107| -------- | ------------------------- | ---- | -------------------- |
5108| path     | string                    | 是   | 设置加载页面的路径。 |
5109| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5110
5111**示例:**
5112
5113```js
5114windowClass.loadContent('pages/page2/page2', (err) => {
5115   if (err.code) {
5116         console.error('Failed to load the content. Cause:' + JSON.stringify(err));
5117         return;
5118   }
5119  console.info('Succeeded in loading the content.');
5120});
5121```
5122
5123### loadContent<sup>(deprecated)</sup>
5124
5125loadContent(path: string): Promise&lt;void&gt;
5126
5127为当前窗口加载具体页面内容,使用Promise异步回调。
5128
5129> **说明:**
5130>
5131> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9-1)。
5132
5133**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5134
5135**参数:**
5136
5137| 参数名 | 类型   | 必填 | 说明                 |
5138| ------ | ------ | ---- | -------------------- |
5139| path   | string | 是   | 设置加载页面的路径。 |
5140
5141**返回值:**
5142
5143| 类型                | 说明                      |
5144| ------------------- | ------------------------- |
5145| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5146
5147**示例:**
5148
5149```js
5150let promise = windowClass.loadContent('pages/page2/page2');
5151promise.then(()=> {
5152    console.info('Succeeded in loading the content.');
5153}).catch((err)=>{
5154    console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
5155});
5156```
5157
5158### isShowing<sup>(deprecated)</sup>
5159
5160isShowing(callback: AsyncCallback&lt;boolean&gt;): void
5161
5162判断当前窗口是否已显示,使用callback异步回调。
5163
5164> **说明:**
5165>
5166> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。
5167
5168**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5169
5170**参数:**
5171
5172| 参数名   | 类型                         | 必填 | 说明                                                         |
5173| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
5174| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口已显示,返回false表示当前窗口未显示。 |
5175
5176**示例:**
5177
5178```js
5179windowClass.isShowing((err, data) => {
5180    if (err.code) {
5181        console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
5182        return;
5183    }
5184    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
5185});
5186```
5187
5188### isShowing<sup>(deprecated)</sup>
5189
5190isShowing(): Promise&lt;boolean&gt;
5191
5192判断当前窗口是否已显示,使用Promise异步回调。
5193
5194> **说明:**
5195>
5196> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。
5197
5198**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5199
5200**返回值:**
5201
5202| 类型                   | 说明                                                         |
5203| ---------------------- | ------------------------------------------------------------ |
5204| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口已显示,返回false表示当前窗口未显示。 |
5205
5206**示例:**
5207
5208```js
5209let promise = windowClass.isShowing();
5210promise.then((data)=> {
5211    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
5212}).catch((err)=>{
5213    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
5214});
5215```
5216
5217### on('systemAvoidAreaChange')<sup>(deprecated)</sup>
5218
5219on(type: 'systemAvoidAreaChange', callback: Callback&lt;AvoidArea&gt;): void
5220
5221开启系统规避区变化的监听。
5222
5223> **说明:**
5224>
5225> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[on('avoidAreaChange')](#onavoidareachange9)。
5226
5227**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5228
5229**参数:**
5230
5231| 参数名   | 类型                                       | 必填 | 说明                                                    |
5232| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
5233| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
5234| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回当前规避区。                             |
5235
5236**示例:**
5237
5238```js
5239windowClass.on('systemAvoidAreaChange', (data) => {
5240    console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
5241});
5242```
5243
5244### off('systemAvoidAreaChange')<sup>(deprecated)</sup>
5245
5246off(type: 'systemAvoidAreaChange', callback?: Callback&lt;AvoidArea&gt;): void
5247
5248关闭系统规避区变化的监听。
5249
5250> **说明:**
5251>
5252> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[off('avoidAreaChange')](#offavoidareachange9)。
5253
5254**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5255
5256**参数:**
5257
5258| 参数名   | 类型                                       | 必填 | 说明                                                    |
5259| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
5260| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
5261| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 否   | 回调函数。返回当前规避区。                            |
5262
5263**示例:**
5264
5265```js
5266windowClass.off('systemAvoidAreaChange');
5267```
5268
5269### isSupportWideGamut<sup>(deprecated)</sup>
5270
5271isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
5272
5273判断当前窗口是否支持广色域模式,使用callback异步回调。
5274
5275> **说明:**
5276>
5277> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9)。
5278
5279**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5280
5281**参数:**
5282
5283| 参数名   | 类型                         | 必填 | 说明                                                         |
5284| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
5285| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
5286
5287**示例:**
5288
5289```js
5290windowClass.isSupportWideGamut((err, data) => {
5291    if (err.code) {
5292        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
5293        return;
5294    }
5295    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
5296});
5297```
5298
5299### isSupportWideGamut<sup>(deprecated)</sup>
5300
5301isSupportWideGamut(): Promise&lt;boolean&gt;
5302
5303判断当前窗口是否支持广色域模式,使用Promise异步回调。
5304
5305> **说明:**
5306>
5307> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9-1)。
5308
5309**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5310
5311**返回值:**
5312
5313| 类型                   | 说明                                                         |
5314| ---------------------- | ------------------------------------------------------------ |
5315| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
5316
5317**示例:**
5318
5319```js
5320let promise = windowClass.isSupportWideGamut();
5321promise.then((data)=> {
5322    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
5323}).catch((err)=>{
5324    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
5325});
5326```
5327
5328### setColorSpace<sup>(deprecated)</sup>
5329
5330setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
5331
5332设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。
5333
5334> **说明:**
5335>
5336> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9)。
5337
5338**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5339
5340**参数:**
5341
5342| 参数名     | 类型                      | 必填 | 说明         |
5343| ---------- | ------------------------- | ---- | ------------ |
5344| colorSpace | [ColorSpace](#colorspace8) | 是   | 设置色域模式。 |
5345| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。   |
5346
5347**示例:**
5348
5349```js
5350windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
5351    if (err.code) {
5352        console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
5353        return;
5354    }
5355    console.info('Succeeded in setting window colorspace.');
5356});
5357```
5358
5359### setColorSpace<sup>(deprecated)</sup>
5360
5361setColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
5362
5363设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。
5364
5365> **说明:**
5366>
5367> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9-1)。
5368
5369**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5370
5371**参数:**
5372
5373| 参数名     | 类型                      | 必填 | 说明           |
5374| ---------- | ------------------------- | ---- | -------------- |
5375| colorSpace | [ColorSpace](#colorspace8) | 是   | 设置色域模式。 |
5376
5377**返回值:**
5378
5379| 类型                | 说明                      |
5380| ------------------- | ------------------------- |
5381| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5382
5383**示例:**
5384
5385```js
5386let promise = windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT);
5387promise.then(()=> {
5388    console.info('Succeeded in setting window colorspace.');
5389}).catch((err)=>{
5390    console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
5391});
5392```
5393
5394### getColorSpace<sup>(deprecated)</sup>
5395
5396getColorSpace(callback: AsyncCallback&lt;ColorSpace&gt;): void
5397
5398获取当前窗口色域模式,使用callback异步回调。
5399
5400> **说明:**
5401>
5402> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
5403
5404**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5405
5406**参数:**
5407
5408| 参数名   | 类型                                           | 必填 | 说明                                                       |
5409| -------- | ---------------------------------------------- | ---- | ---------------------------------------------------------- |
5410| callback | AsyncCallback&lt;[ColorSpace](#colorspace8)&gt; | 是   | 回调函数。当获取成功,err为undefined,data为当前色域模式。 |
5411
5412**示例:**
5413
5414```js
5415windowClass.getColorSpace((err, data) => {
5416    if (err.code) {
5417        console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err));
5418        return;
5419    }
5420    console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data));
5421});
5422```
5423
5424### getColorSpace<sup>(deprecated)</sup>
5425
5426getColorSpace(): Promise&lt;ColorSpace&gt;
5427
5428获取当前窗口色域模式,使用Promise异步回调。
5429
5430> **说明:**
5431>
5432> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
5433
5434**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5435
5436**返回值:**
5437
5438| 类型                                     | 说明                            |
5439| ---------------------------------------- | ------------------------------- |
5440| Promise&lt;[ColorSpace](#colorspace8)&gt; | Promise对象。返回当前色域模式。 |
5441
5442**示例:**
5443
5444```js
5445let promise = windowClass.getColorSpace();
5446promise.then((data)=> {
5447    console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data));
5448}).catch((err)=>{
5449    console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err));
5450});
5451```
5452
5453### setBackgroundColor<sup>(deprecated)</sup>
5454
5455setBackgroundColor(color: string, callback: AsyncCallback&lt;void&gt;): void
5456
5457设置窗口的背景色,使用callback异步回调。Stage模型下,该接口需要在[loadContent()](#loadcontent9)或[setUIContent()](#setuicontent9)调用生效后使用。
5458
5459> **说明:**
5460>
5461> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
5462
5463**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5464
5465**参数:**
5466
5467| 参数名   | 类型                      | 必填 | 说明                                                         |
5468| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
5469| color    | string                    | 是   | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
5470| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
5471
5472**示例:**
5473
5474```js
5475let color = '#00ff33';
5476windowClass.setBackgroundColor(color, (err) => {
5477    if (err.code) {
5478        console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
5479        return;
5480    }
5481    console.info('Succeeded in setting the background color.');
5482});
5483```
5484
5485### setBackgroundColor<sup>(deprecated)</sup>
5486
5487setBackgroundColor(color: string): Promise&lt;void&gt;
5488
5489设置窗口的背景色,使用Promise异步回调。Stage模型下,该接口需要在[loadContent()](#loadcontent9)或[setUIContent()](#setuicontent9)调用生效后使用。
5490
5491> **说明:**
5492>
5493> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
5494
5495**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5496
5497**参数:**
5498
5499| 参数名 | 类型   | 必填 | 说明                                                         |
5500| ------ | ------ | ---- | ------------------------------------------------------------ |
5501| color  | string | 是   | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
5502
5503**返回值:**
5504
5505| 类型                | 说明                      |
5506| ------------------- | ------------------------- |
5507| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5508
5509**示例:**
5510
5511```js
5512let color = '#00ff33';
5513let promise = windowClass.setBackgroundColor(color);
5514promise.then(()=> {
5515    console.info('Succeeded in setting the background color.');
5516}).catch((err)=>{
5517    console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
5518});
5519```
5520
5521### setBrightness<sup>(deprecated)</sup>
5522
5523setBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void
5524
5525设置屏幕亮度值,使用callback异步回调。
5526
5527当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
5528
5529> **说明:**
5530>
5531> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9)。
5532
5533**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5534
5535**参数:**
5536
5537| 参数名     | 类型                      | 必填 | 说明                                    |
5538| ---------- | ------------------------- | ---- |---------------------------------------|
5539| brightness | number                    | 是   | 屏幕亮度值。该参数为浮点数,取值范围为[0.0, 1.0]。,1表示最亮。 |
5540| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                 |
5541
5542**示例:**
5543
5544```js
5545let brightness = 1;
5546windowClass.setBrightness(brightness, (err) => {
5547    if (err.code) {
5548        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
5549        return;
5550    }
5551    console.info('Succeeded in setting the brightness.');
5552});
5553```
5554
5555### setBrightness<sup>(deprecated)</sup>
5556
5557setBrightness(brightness: number): Promise&lt;void&gt;
5558
5559设置屏幕亮度值,使用Promise异步回调。
5560
5561当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
5562
5563> **说明:**
5564>
5565> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9-1)。
5566
5567**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5568
5569**参数:**
5570
5571| 参数名     | 类型   | 必填 | 说明                                       |
5572| ---------- | ------ | ---- |------------------------------------------|
5573| brightness | number | 是   | 屏幕亮度值。该参数为浮点数。取值范围为[0.0, 1.0],取1.0时表示最亮。 |
5574
5575**返回值:**
5576
5577| 类型                | 说明                      |
5578| ------------------- | ------------------------- |
5579| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5580
5581**示例:**
5582
5583```js
5584let brightness = 1;
5585let promise = windowClass.setBrightness(brightness);
5586promise.then(()=> {
5587    console.info('Succeeded in setting the brightness.');
5588}).catch((err)=>{
5589    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
5590});
5591```
5592
5593### setDimBehind<sup>(deprecated)</sup>
5594
5595setDimBehind(dimBehindValue: number, callback: AsyncCallback&lt;void&gt;): void
5596
5597窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback异步回调。
5598
5599> **说明:**
5600>
5601> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5602
5603**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5604
5605**参数:**
5606
5607| 参数名         | 类型                      | 必填 | 说明                                     |
5608| -------------- | ------------------------- | ---- |----------------------------------------|
5609| dimBehindValue | number                    | 是   | 表示靠后的窗口的暗度值,取值范围为[0.0, 1.0],取1.0时表示最暗。 |
5610| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                  |
5611
5612**示例:**
5613
5614```js
5615windowClass.setDimBehind(0.5, (err) => {
5616    if (err.code) {
5617        console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
5618        return;
5619    }
5620    console.info('Succeeded in setting the dimness.');
5621});
5622```
5623
5624### setDimBehind<sup>(deprecated)</sup>
5625
5626setDimBehind(dimBehindValue: number): Promise&lt;void&gt;
5627
5628窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise异步回调。
5629
5630> **说明:**
5631>
5632> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5633
5634**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5635
5636**参数:**
5637
5638| 参数名         | 类型   | 必填 | 说明                                               |
5639| -------------- | ------ | ---- | -------------------------------------------------- |
5640| dimBehindValue | number | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
5641
5642**返回值:**
5643
5644| 类型                | 说明                      |
5645| ------------------- | ------------------------- |
5646| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5647
5648**示例:**
5649
5650```js
5651let promise = windowClass.setDimBehind(0.5);
5652promise.then(()=> {
5653    console.info('Succeeded in setting the dimness.');
5654}).catch((err)=>{
5655    console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
5656});
5657```
5658
5659### setFocusable<sup>(deprecated)</sup>
5660
5661setFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
5662
5663设置点击时是否支持切换焦点窗口,使用callback异步回调。
5664
5665> **说明:**
5666>
5667> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9)。
5668
5669**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5670
5671**参数:**
5672
5673| 参数名      | 类型                      | 必填 | 说明                         |
5674| ----------- | ------------------------- | ---- | ---------------------------- |
5675| isFocusable | boolean                   | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
5676| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。                   |
5677
5678**示例:**
5679
5680```js
5681let isFocusable= true;
5682windowClass.setFocusable(isFocusable, (err) => {
5683    if (err.code) {
5684        console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
5685        return;
5686    }
5687    console.info('Succeeded in setting the window to be focusable.');
5688});
5689```
5690
5691### setFocusable<sup>(deprecated)</sup>
5692
5693setFocusable(isFocusable: boolean): Promise&lt;void&gt;
5694
5695设置点击时是否支持切换焦点窗口,使用Promise异步回调。
5696
5697> **说明:**
5698>
5699> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9-1)。
5700
5701**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5702
5703**参数:**
5704
5705| 参数名      | 类型    | 必填 | 说明                         |
5706| ----------- | ------- | ---- | ---------------------------- |
5707| isFocusable | boolean | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
5708
5709**返回值:**
5710
5711| 类型                | 说明                      |
5712| ------------------- | ------------------------- |
5713| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5714
5715**示例:**
5716
5717```js
5718let isFocusable= true;
5719let promise = windowClass.setFocusable(isFocusable);
5720promise.then(()=> {
5721    console.info('Succeeded in setting the window to be focusable.');
5722}).catch((err)=>{
5723    console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
5724});
5725```
5726
5727### setKeepScreenOn<sup>(deprecated)</sup>
5728
5729setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
5730
5731设置屏幕是否为常亮状态,使用callback异步回调。
5732
5733> **说明:**
5734>
5735> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9)。
5736
5737**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5738
5739**参数:**
5740
5741| 参数名         | 类型                      | 必填 | 说明                     |
5742| -------------- | ------------------------- | ---- | ------------------------ |
5743| isKeepScreenOn | boolean                   | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
5744| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。               |
5745
5746**示例:**
5747
5748```js
5749let isKeepScreenOn = true;
5750windowClass.setKeepScreenOn(isKeepScreenOn, (err) => {
5751    if (err.code) {
5752        console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
5753        return;
5754    }
5755    console.info('Succeeded in setting the screen to be always on.');
5756});
5757```
5758
5759### setKeepScreenOn<sup>(deprecated)</sup>
5760
5761setKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
5762
5763设置屏幕是否为常亮状态,使用Promise异步回调。
5764
5765> **说明:**
5766>
5767> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9-1)。
5768
5769**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5770
5771**参数:**
5772
5773| 参数名         | 类型    | 必填 | 说明                     |
5774| -------------- | ------- | ---- | ------------------------ |
5775| isKeepScreenOn | boolean | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
5776
5777**返回值:**
5778
5779| 类型                | 说明                      |
5780| ------------------- | ------------------------- |
5781| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5782
5783**示例:**
5784
5785```js
5786let isKeepScreenOn = true;
5787let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
5788promise.then(() => {
5789    console.info('Succeeded in setting the screen to be always on.');
5790}).catch((err)=>{
5791    console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err));
5792});
5793```
5794
5795### setOutsideTouchable<sup>(deprecated)</sup>
5796
5797setOutsideTouchable(touchable: boolean, callback: AsyncCallback&lt;void&gt;): void
5798
5799设置是否允许可点击子窗口之外的区域,使用callback异步回调。
5800
5801> **说明:**
5802>
5803> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5804
5805**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5806
5807**参数:**
5808
5809| 参数名    | 类型                      | 必填 | 说明             |
5810| --------- | ------------------------- | ---- | ---------------- |
5811| touchable | boolean                   | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |
5812| callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。       |
5813
5814**示例:**
5815
5816```js
5817windowClass.setOutsideTouchable(true, (err) => {
5818    if (err.code) {
5819        console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
5820        return;
5821    }
5822    console.info('Succeeded in setting the area to be touchable.');
5823});
5824```
5825
5826### setOutsideTouchable<sup>(deprecated)</sup>
5827
5828setOutsideTouchable(touchable: boolean): Promise&lt;void&gt;
5829
5830设置是否允许可点击子窗口之外的区域,使用Promise异步回调。。
5831
5832> **说明:**
5833>
5834> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5835
5836**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5837
5838**参数:**
5839
5840| 参数名    | 类型    | 必填 | 说明             |
5841| --------- | ------- | ---- | ---------------- |
5842| touchable | boolean | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |
5843
5844**返回值:**
5845
5846| 类型                | 说明                      |
5847| ------------------- | ------------------------- |
5848| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5849
5850**示例:**
5851
5852```js
5853let promise = windowClass.setOutsideTouchable(true);
5854promise.then(()=> {
5855    console.info('Succeeded in setting the area to be touchable.');
5856}).catch((err)=>{
5857    console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
5858});
5859```
5860
5861### setPrivacyMode<sup>(deprecated)</sup>
5862
5863setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
5864
5865设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
5866
5867> **说明:**
5868>
5869> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9)。
5870
5871**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5872
5873**参数:**
5874
5875| 参数名        | 类型                      | 必填 | 说明                 |
5876| ------------- | ------------------------- | ---- | -------------------- |
5877| isPrivacyMode | boolean                   | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
5878| callback      | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5879
5880**示例:**
5881
5882```js
5883let isPrivacyMode = true;
5884windowClass.setPrivacyMode(isPrivacyMode, (err) => {
5885    if (err.code) {
5886        console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
5887        return;
5888    }
5889    console.info('Succeeded in setting the window to privacy mode.');
5890});
5891```
5892
5893### setPrivacyMode<sup>(deprecated)</sup>
5894
5895setPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
5896
5897设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
5898
5899> **说明:**
5900>
5901> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9-1)。
5902
5903**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5904
5905**参数:**
5906
5907| 参数名        | 类型    | 必填 | 说明                 |
5908| ------------- | ------- | ---- | -------------------- |
5909| isPrivacyMode | boolean | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
5910
5911**返回值:**
5912
5913| 类型                | 说明                      |
5914| ------------------- | ------------------------- |
5915| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5916
5917**示例:**
5918
5919```js
5920let isPrivacyMode = true;
5921let promise = windowClass.setPrivacyMode(isPrivacyMode);
5922promise.then(()=> {
5923    console.info('Succeeded in setting the window to privacy mode.');
5924}).catch((err)=>{
5925    console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
5926});
5927```
5928
5929### setTouchable<sup>(deprecated)</sup>
5930
5931setTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void
5932
5933设置窗口是否为可触状态,使用callback异步回调。
5934
5935> **说明:**
5936>
5937> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9)。
5938
5939**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5940
5941**参数:**
5942
5943| 参数名      | 类型                      | 必填 | 说明                 |
5944| ----------- | ------------------------- | ---- | -------------------- |
5945| isTouchable | boolean                   | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |
5946| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5947
5948**示例:**
5949
5950```js
5951let isTouchable = true;
5952windowClass.setTouchable(isTouchable, (err) => {
5953    if (err.code) {
5954        console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
5955        return;
5956    }
5957    console.info('Succeeded in setting the window to be touchable.');
5958});
5959```
5960
5961### setTouchable<sup>(deprecated)</sup>
5962
5963setTouchable(isTouchable: boolean): Promise&lt;void&gt;
5964
5965设置窗口是否为可触状态,使用Promise异步回调。
5966
5967> **说明:**
5968>
5969> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9-1)。
5970
5971**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5972
5973**参数:**
5974
5975| 参数名      | 类型    | 必填 | 说明                 |
5976| ----------- | ------- | ---- | -------------------- |
5977| isTouchable | boolean | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |
5978
5979**返回值:**
5980
5981| 类型                | 说明                      |
5982| ------------------- | ------------------------- |
5983| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5984
5985**示例:**
5986
5987```js
5988let isTouchable = true;
5989let promise = windowClass.setTouchable(isTouchable);
5990promise.then(()=> {
5991    console.info('Succeeded in setting the window to be touchable.');
5992}).catch((err)=>{
5993    console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
5994});
5995```
5996
5997## WindowStageEventType<sup>9+</sup>
5998
5999WindowStage生命周期。
6000
6001**模型约束:** 此接口仅可在Stage模型下使用。
6002
6003**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6004
6005| 名称       | 值 | 说明       |
6006| ---------- | ------ | ---------- |
6007| SHOWN      | 1      | 切到前台。 |
6008| ACTIVE     | 2      | 获焦状态。 |
6009| INACTIVE   | 3      | 失焦状态。 |
6010| HIDDEN     | 4      | 切到后台。 |
6011
6012## WindowStage<sup>9+</sup>
6013
6014窗口管理器。管理各个基本窗口单元,即[Window](#window)实例。
6015
6016下列API示例中都需在[onWindowStageCreate()](js-apis-app-ability-uiAbility.md#uiabilityonwindowstagecreate)函数中使用WindowStage的实例调用对应方法。
6017
6018### getMainWindow<sup>9+</sup>
6019
6020getMainWindow(callback: AsyncCallback&lt;Window&gt;): void
6021
6022获取该WindowStage实例下的主窗口,使用callback异步回调。
6023
6024**模型约束:** 此接口仅可在Stage模型下使用。
6025
6026**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6027
6028**参数:**
6029
6030| 参数名   | 类型                                   | 必填 | 说明                                          |
6031| -------- | -------------------------------------- | ---- | --------------------------------------------- |
6032| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的主窗口对象。 |
6033
6034**错误码:**
6035
6036以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6037
6038| 错误码ID | 错误信息 |
6039| ------- | ------------------------------ |
6040| 1300002 | This window state is abnormal. |
6041| 1300005 | This window stage is abnormal. |
6042
6043**示例:**
6044
6045```ts
6046import UIAbility from '@ohos.app.ability.UIAbility';
6047
6048class myAbility extends UIAbility {
6049    onWindowStageCreate(windowStage) {
6050        console.log('onWindowStageCreate');
6051        let windowClass = null;
6052        windowStage.getMainWindow((err, data) => {
6053            if (err.code) {
6054                console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
6055                return;
6056            }
6057            windowClass = data;
6058            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
6059        });
6060    }
6061};
6062```
6063
6064### getMainWindow<sup>9+</sup>
6065
6066getMainWindow(): Promise&lt;Window&gt;
6067
6068获取该WindowStage实例下的主窗口,使用Promise异步回调。
6069
6070**模型约束:** 此接口仅可在Stage模型下使用。
6071
6072**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6073
6074**返回值:**
6075
6076| 类型                             | 说明                                             |
6077| -------------------------------- | ------------------------------------------------ |
6078| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的主窗口对象。 |
6079
6080**错误码:**
6081
6082以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6083
6084| 错误码ID | 错误信息 |
6085| ------- | ------------------------------ |
6086| 1300002 | This window state is abnormal. |
6087| 1300005 | This window stage is abnormal. |
6088
6089**示例:**
6090
6091```ts
6092import UIAbility from '@ohos.app.ability.UIAbility';
6093
6094class myAbility extends UIAbility {
6095    onWindowStageCreate(windowStage) {
6096        console.log('onWindowStageCreate');
6097        let windowClass = null;
6098        let promise = windowStage.getMainWindow();
6099        promise.then((data) => {
6100        windowClass = data;
6101            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
6102        }).catch((err) => {
6103            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
6104        });
6105    }
6106};
6107```
6108
6109### getMainWindowSync<sup>9+</sup>
6110
6111getMainWindowSync(): Window
6112
6113获取该WindowStage实例下的主窗口。
6114
6115**模型约束:** 此接口仅可在Stage模型下使用。
6116
6117**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6118
6119**返回值:**
6120
6121| 类型 | 说明 |
6122| ----------------- | --------------------------------- |
6123| [Window](#window) | 返回当前WindowStage下的主窗口对象。 |
6124
6125**错误码:**
6126
6127以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6128
6129| 错误码ID | 错误信息 |
6130| ------- | ------------------------------ |
6131| 1300002 | This window state is abnormal. |
6132| 1300005 | This window stage is abnormal. |
6133
6134**示例:**
6135
6136```ts
6137import UIAbility from '@ohos.app.ability.UIAbility';
6138
6139class myAbility extends UIAbility {
6140    onWindowStageCreate(windowStage) {
6141        console.log('onWindowStageCreate');
6142        try {
6143            let windowClass = windowStage.getMainWindowSync();
6144        } catch (exception) {
6145            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(exception));
6146        };
6147    }
6148};
6149```
6150
6151### createSubWindow<sup>9+</sup>
6152
6153createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void
6154
6155创建该WindowStage实例下的子窗口,使用callback异步回调。
6156
6157**模型约束:** 此接口仅可在Stage模型下使用。
6158
6159**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6160
6161**参数:**
6162
6163| 参数名   | 类型                                   | 必填 | 说明                                          |
6164| -------- | -------------------------------------- | ---- | --------------------------------------------- |
6165| name     | string                                 | 是   | 子窗口的名字。                                |
6166| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的子窗口对象。 |
6167
6168**错误码:**
6169
6170以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6171
6172| 错误码ID | 错误信息 |
6173| ------- | ------------------------------ |
6174| 1300002 | This window state is abnormal. |
6175| 1300005 | This window stage is abnormal. |
6176
6177**示例:**
6178
6179```ts
6180import UIAbility from '@ohos.app.ability.UIAbility';
6181
6182class myAbility extends UIAbility {
6183    onWindowStageCreate(windowStage) {
6184        console.log('onWindowStageCreate');
6185        let windowClass = null;
6186        try {
6187            windowStage.createSubWindow('mySubWindow', (err, data) => {
6188                if (err.code) {
6189                    console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
6190                    return;
6191                }
6192                windowClass = data;
6193                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
6194                windowClass.resetSize(500, 1000);
6195            });
6196        } catch (exception) {
6197            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
6198        };
6199    }
6200};
6201```
6202### createSubWindow<sup>9+</sup>
6203
6204createSubWindow(name: string): Promise&lt;Window&gt;
6205
6206创建该WindowStage实例下的子窗口,使用Promise异步回调。
6207
6208**模型约束:** 此接口仅可在Stage模型下使用。
6209
6210**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6211
6212**参数:**
6213
6214| 参数名 | 类型   | 必填 | 说明           |
6215| ------ | ------ | ---- | -------------- |
6216| name   | string | 是   | 子窗口的名字。 |
6217
6218**返回值:**
6219
6220| 类型                             | 说明                                             |
6221| -------------------------------- | ------------------------------------------------ |
6222| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的子窗口对象。 |
6223
6224**错误码:**
6225
6226以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6227
6228| 错误码ID | 错误信息 |
6229| ------- | ------------------------------ |
6230| 1300002 | This window state is abnormal. |
6231| 1300005 | This window stage is abnormal. |
6232
6233**示例:**
6234
6235```ts
6236import UIAbility from '@ohos.app.ability.UIAbility';
6237
6238class myAbility extends UIAbility {
6239    onWindowStageCreate(windowStage) {
6240        console.log('onWindowStageCreate');
6241        let windowClass = null;
6242        try {
6243            let promise = windowStage.createSubWindow('mySubWindow');
6244            promise.then((data) => {
6245                windowClass = data;
6246                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
6247            }).catch((err) => {
6248                console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
6249            });
6250        } catch (exception) {
6251            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
6252        };
6253    }
6254};
6255```
6256
6257### getSubWindow<sup>9+</sup>
6258
6259getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void
6260
6261获取该WindowStage实例下的所有子窗口,使用callback异步回调。
6262
6263**模型约束:** 此接口仅可在Stage模型下使用。
6264
6265**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6266
6267**参数:**
6268
6269| 参数名   | 类型                                                | 必填 | 说明                                              |
6270| -------- | --------------------------------------------------- | ---- | ------------------------------------------------- |
6271| callback | AsyncCallback&lt;Array&lt;[Window](#window)&gt;&gt; | 是   | 回调函数。返回当前WindowStage下的所有子窗口对象。 |
6272
6273**错误码:**
6274
6275以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6276
6277| 错误码ID | 错误信息 |
6278| ------- | ------------------------------ |
6279| 1300005 | This window stage is abnormal. |
6280
6281**示例:**
6282
6283```ts
6284import UIAbility from '@ohos.app.ability.UIAbility';
6285
6286class myAbility extends UIAbility {
6287    onWindowStageCreate(windowStage) {
6288        console.log('onWindowStageCreate');
6289        let windowClass = null;
6290        windowStage.getSubWindow((err, data) => {
6291            if (err.code) {
6292                console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
6293                return;
6294            }
6295            windowClass = data;
6296            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
6297        });
6298    }
6299};
6300```
6301### getSubWindow<sup>9+</sup>
6302
6303getSubWindow(): Promise&lt;Array&lt;Window&gt;&gt;
6304
6305获取该WindowStage实例下的所有子窗口,使用Promise异步回调。
6306
6307**模型约束:** 此接口仅可在Stage模型下使用。
6308
6309**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6310
6311**返回值:**
6312
6313| 类型                                          | 说明                                                 |
6314| --------------------------------------------- | ---------------------------------------------------- |
6315| Promise&lt;Array&lt;[Window](#window)&gt;&gt; | Promise对象。返回当前WindowStage下的所有子窗口对象。 |
6316
6317**错误码:**
6318
6319以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6320
6321| 错误码ID | 错误信息 |
6322| ------- | ------------------------------ |
6323| 1300005 | This window stage is abnormal. |
6324
6325**示例:**
6326
6327```ts
6328import UIAbility from '@ohos.app.ability.UIAbility';
6329
6330class myAbility extends UIAbility {
6331    onWindowStageCreate(windowStage) {
6332        console.log('onWindowStageCreate');
6333        let windowClass = null;
6334        let promise = windowStage.getSubWindow();
6335        promise.then((data) => {
6336            windowClass = data;
6337            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
6338        }).catch((err) => {
6339            console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
6340        })
6341    }
6342};
6343```
6344### loadContent<sup>9+</sup>
6345
6346loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void
6347
6348为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。
6349
6350**模型约束:** 此接口仅可在Stage模型下使用。
6351
6352**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6353
6354**参数:**
6355
6356| 参数名   | 类型                                            | 必填 | 说明                                                         |
6357| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
6358| path     | string                                          | 是   | 设置加载页面的路径。                                         |
6359| storage  | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
6360| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
6361
6362**错误码:**
6363
6364以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6365
6366| 错误码ID | 错误信息 |
6367| ------- | ------------------------------ |
6368| 1300002 | This window state is abnormal. |
6369| 1300005 | This window stage is abnormal. |
6370
6371**示例:**
6372
6373```ts
6374import UIAbility from '@ohos.app.ability.UIAbility';
6375
6376class myAbility extends UIAbility {
6377    storage : LocalStorage
6378    onWindowStageCreate(windowStage) {
6379        this.storage = new LocalStorage();
6380        this.storage.setOrCreate('storageSimpleProp',121);
6381        console.log('onWindowStageCreate');
6382        try {
6383            windowStage.loadContent('pages/page2',this.storage,(err) => {
6384                if (err.code) {
6385                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
6386                    return;
6387                }
6388                console.info('Succeeded in loading the content.');
6389            });
6390        } catch (exception) {
6391            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
6392        };
6393    }
6394};
6395```
6396
6397### loadContent<sup>9+</sup>
6398
6399loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt;
6400
6401为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。
6402
6403**模型约束:** 此接口仅可在Stage模型下使用。
6404
6405**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6406
6407**参数:**
6408
6409| 参数名  | 类型                                            | 必填 | 说明                                                         |
6410| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
6411| path    | string                                          | 是   | 设置加载页面的路径。                                         |
6412| storage | [LocalStorage](../../quick-start/arkts-localstorage.md) | 否   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
6413
6414**返回值:**
6415
6416| 类型                | 说明                      |
6417| ------------------- | ------------------------- |
6418| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
6419
6420**错误码:**
6421
6422以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6423
6424| 错误码ID | 错误信息 |
6425| ------- | ------------------------------ |
6426| 1300002 | This window state is abnormal. |
6427| 1300005 | This window stage is abnormal. |
6428
6429**示例:**
6430
6431```ts
6432import UIAbility from '@ohos.app.ability.UIAbility';
6433
6434class myAbility extends UIAbility {
6435    storage : LocalStorage
6436    onWindowStageCreate(windowStage) {
6437        this.storage = new LocalStorage();
6438        this.storage.setOrCreate('storageSimpleProp',121);
6439        console.log('onWindowStageCreate');
6440        try {
6441            let promise = windowStage.loadContent('pages/page2',this.storage);
6442            promise.then(() => {
6443                console.info('Succeeded in loading the content.');
6444            }).catch((err) => {
6445                console.error('Failed to load the content. Cause:' + JSON.stringify(err));
6446            });
6447        } catch (exception) {
6448            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
6449        };
6450    }
6451};
6452```
6453
6454### loadContent<sup>9+</sup>
6455
6456loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
6457
6458为当前WindowStage的主窗口加载具体页面内容,使用callback异步回调。
6459
6460**模型约束:** 此接口仅可在Stage模型下使用。
6461
6462**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6463
6464**参数:**
6465
6466| 参数名   | 类型                      | 必填 | 说明                 |
6467| -------- | ------------------------- | ---- | -------------------- |
6468| path     | string                    | 是   | 设置加载页面的路径。 |
6469| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
6470
6471**错误码:**
6472
6473以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6474
6475| 错误码ID | 错误信息 |
6476| ------- | ------------------------------ |
6477| 1300002 | This window state is abnormal. |
6478| 1300005 | This window stage is abnormal. |
6479
6480**示例:**
6481
6482```ts
6483import UIAbility from '@ohos.app.ability.UIAbility';
6484
6485class myAbility extends UIAbility {
6486    onWindowStageCreate(windowStage) {
6487        console.log('onWindowStageCreate');
6488        try {
6489            windowStage.loadContent('pages/page2', (err) => {
6490                if (err.code) {
6491                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
6492                    return;
6493                }
6494                console.info('Succeeded in loading the content.');
6495            });
6496        } catch (exception) {
6497            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
6498        };
6499    }
6500};
6501```
6502
6503### on('windowStageEvent')<sup>9+</sup>
6504
6505on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt;): void
6506
6507开启WindowStage生命周期变化的监听。
6508
6509**模型约束:** 此接口仅可在Stage模型下使用。
6510
6511**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6512
6513**参数:**
6514
6515| 参数名   | 类型                                                         | 必填 | 说明                                                         |
6516| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
6517| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
6518| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 是   | 回调函数。返回当前的WindowStage生命周期状态。                |
6519
6520**错误码:**
6521
6522以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6523
6524| 错误码ID | 错误信息 |
6525| ------- | ------------------------------ |
6526| 1300002 | This window state is abnormal. |
6527| 1300005 | This window stage is abnormal. |
6528
6529**示例:**
6530
6531```ts
6532import UIAbility from '@ohos.app.ability.UIAbility';
6533
6534class myAbility extends UIAbility {
6535    onWindowStageCreate(windowStage) {
6536        console.log('onWindowStageCreate');
6537        try {
6538            windowStage.on('windowStageEvent', (data) => {
6539                console.info('Succeeded in enabling the listener for window stage event changes. Data: ' +
6540                    JSON.stringify(data));
6541            });
6542        } catch (exception) {
6543            console.error('Failed to enable the listener for window stage event changes. Cause:' +
6544                JSON.stringify(exception));
6545        };
6546    }
6547};
6548```
6549
6550### off('windowStageEvent')<sup>9+</sup>
6551
6552off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&gt;): void
6553
6554关闭WindowStage生命周期变化的监听。
6555
6556**模型约束:** 此接口仅可在Stage模型下使用。
6557
6558**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6559
6560**参数:**
6561
6562| 参数名   | 类型                                                         | 必填 | 说明                                                         |
6563| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
6564| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
6565| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 否   | 回调函数。返回当前的WindowStage生命周期状态。                |
6566
6567**错误码:**
6568
6569以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6570
6571| 错误码ID | 错误信息 |
6572| ------- | ------------------------------ |
6573| 1300002 | This window state is abnormal. |
6574| 1300005 | This window stage is abnormal. |
6575
6576**示例:**
6577
6578```ts
6579import UIAbility from '@ohos.app.ability.UIAbility';
6580
6581class myAbility extends UIAbility {
6582    onWindowStageCreate(windowStage) {
6583        console.log('onWindowStageCreate');
6584        try {
6585            windowStage.off('windowStageEvent');
6586        } catch (exception) {
6587            console.error('Failed to disable the listener for window stage event changes. Cause:' +
6588                JSON.stringify(exception));
6589        };
6590    }
6591};
6592```
6593
6594### disableWindowDecor()<sup>9+</sup>
6595
6596disableWindowDecor(): void
6597
6598禁止窗口装饰。
6599
6600**模型约束:** 此接口仅可在Stage模型下使用。
6601
6602**系统接口:** 此接口为系统接口。
6603
6604**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6605
6606**错误码:**
6607
6608以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6609
6610| 错误码ID | 错误信息 |
6611| ------- | ------------------------------ |
6612| 1300002 | This window state is abnormal. |
6613| 1300005 | This window stage is abnormal. |
6614
6615**示例:**
6616
6617```ts
6618import UIAbility from '@ohos.app.ability.UIAbility';
6619
6620class myAbility extends UIAbility {
6621    onWindowStageCreate(windowStage) {
6622        console.log('disableWindowDecor');
6623        windowStage.disableWindowDecor();
6624    }
6625};
6626```
6627
6628### setShowOnLockScreen()<sup>9+</sup>
6629
6630setShowOnLockScreen(showOnLockScreen: boolean): void
6631
6632设置应用显示在锁屏之上。
6633
6634**系统接口:** 此接口为系统接口。
6635
6636**模型约束:** 此接口仅可在Stage模型下使用。
6637
6638**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6639
6640**参数:**
6641
6642| 参数名           | 类型    | 必填 | 说明                         |
6643| ---------------- | ------- | ---- | ---------------------------- |
6644| showOnLockScreen | boolean | 是   | 是否设置应用显示在锁屏之上。true表示显示在锁屏之上;false表示不显示在锁屏之上。 |
6645
6646**错误码:**
6647
6648以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6649
6650| 错误码ID | 错误信息 |
6651| ------- | ------------------------------ |
6652| 1300002 | This window state is abnormal. |
6653| 1300005 | This window stage is abnormal. |
6654
6655**示例:**
6656
6657```ts
6658import UIAbility from '@ohos.app.ability.UIAbility';
6659
6660class myAbility extends UIAbility {
6661    onWindowStageCreate(windowStage) {
6662        console.log('onWindowStageCreate');
6663        try {
6664            windowStage.setShowOnLockScreen(true);
6665        } catch (exception) {
6666            console.error('Failed to show on lockscreen. Cause:' + JSON.stringify(exception));
6667        };
6668    }
6669};
6670```
6671## TransitionContext<sup>9+</sup>
6672
6673属性转换的上下文信息。
6674
6675### 属性
6676
6677**系统接口:** 此接口为系统接口。
6678
6679**系统能力**:SystemCapability.WindowManager.WindowManager.Core
6680
6681| 名称                  | 类型          | 可读 | 可写 | 说明             |
6682| --------------------- | ----------------- | ---- | ---- | ---------------- |
6683| toWindow<sup>9+</sup> | [Window](#window) | 是   | 是   | 动画的目标窗口。 |
6684
6685### completeTransition<sup>9+</sup>
6686
6687completeTransition(isCompleted: boolean): void
6688
6689设置属性转换的最终完成状态。该函数需要在动画函数[animateTo()](../arkui-ts/ts-explicit-animation.md)执行后设置。
6690
6691**系统接口:** 此接口为系统接口。
6692
6693**系统能力**:SystemCapability.WindowManager.WindowManager.Core
6694
6695**参数:**
6696
6697| 参数名      | 类型    | 必填 | 说明                                                         |
6698| ----------- | ------- | ---- | ------------------------------------------------------------ |
6699| isCompleted | boolean | 是   | 窗口属性转换是否完成。true表示完成本次转换;false表示撤销本次转换。 |
6700
6701**示例:**
6702
6703```js
6704let controller = windowClass.getTransitionController();
6705controller.animationForShown = (context : window.TransitionContext) => {
6706	let toWindow = context.toWindow;
6707 	animateTo({
6708    	duration: 1000, // 动画时长
6709        tempo: 0.5, // 播放速率
6710        curve: Curve.EaseInOut, // 动画曲线
6711        delay: 0, // 动画延迟
6712        iterations: 1, // 播放次数
6713        playMode: PlayMode.Normal, // 动画模式
6714      }, () => {
6715        let obj : window.TranslateOptions = {
6716          x : 100.0,
6717          y : 0.0,
6718          z : 0.0
6719        };
6720        toWindow.translate(obj);
6721        console.info('toWindow translate end');
6722      }
6723    );
6724    try {
6725        context.completeTransition(true)
6726    } catch (exception) {
6727        console.info('toWindow translate fail. Cause: ' + JSON.stringify(exception));
6728    }
6729    console.info('complete transition end');
6730};
6731```
6732
6733## TransitionController<sup>9+</sup>
6734
6735属性转换控制器。
6736
6737### animationForShown<sup>9+</sup>
6738
6739animationForShown(context: TransitionContext): void
6740
6741窗口显示时的自定义动画配置。
6742
6743**系统接口:** 此接口为系统接口。
6744
6745**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6746
6747**参数:**
6748
6749| 参数名  | 类型                                     | 必填 | 说明                 |
6750| ------- | ---------------------------------------- | ---- | -------------------- |
6751| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |
6752
6753**示例:**
6754
6755```js
6756let controller = windowClass.getTransitionController();
6757controller.animationForShown = (context : window.TransitionContext) => {
6758	let toWindow = context.toWindow;
6759 	animateTo({
6760    	duration: 1000, // 动画时长
6761        tempo: 0.5, // 播放速率
6762        curve: Curve.EaseInOut, // 动画曲线
6763        delay: 0, // 动画延迟
6764        iterations: 1, // 播放次数
6765        playMode: PlayMode.Normal, // 动画模式
6766        onFinish: ()=> {
6767            context.completeTransition(true)
6768        }
6769      }, () => {
6770        let obj : window.TranslateOptions = {
6771          x : 100.0,
6772          y : 0.0,
6773          z : 0.0
6774        };
6775        toWindow.translate(obj);
6776        console.info('toWindow translate end');
6777      }
6778    );
6779    console.info('complete transition end');
6780};
6781```
6782
6783### animationForHidden<sup>9+</sup>
6784
6785animationForHidden(context: TransitionContext): void
6786
6787窗口隐藏时的自定义动画配置。
6788
6789**系统接口:** 此接口为系统接口。
6790
6791**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6792
6793**参数:**
6794
6795| 参数名  | 类型                                     | 必填 | 说明                 |
6796| ------- | ---------------------------------------- | ---- | -------------------- |
6797| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |
6798
6799**示例:**
6800
6801```js
6802let controller = windowClass.getTransitionController();
6803controller.animationForHidden = (context : window.TransitionContext) => {
6804	let toWindow = context.toWindow;
6805 	animateTo({
6806    	duration: 1000, // 动画时长
6807        tempo: 0.5, // 播放速率
6808        curve: Curve.EaseInOut, // 动画曲线
6809        delay: 0, // 动画延迟
6810        iterations: 1, // 播放次数
6811        playMode: PlayMode.Normal, // 动画模式
6812        onFinish: ()=> {
6813            context.completeTransition(true)
6814        }
6815      }, () => {
6816        let obj : window.TranslateOptions = {
6817          x : 100.0,
6818          y : 0.0,
6819          z : 0.0
6820        };
6821        toWindow.translate(obj);
6822        console.info('toWindow translate end');
6823      }
6824    )
6825    console.info('complete transition end');
6826};
6827```
6828