js-apis-window.md 253.2 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.window (窗口)
Z
zengyawen 已提交
2

G
ge-yafang 已提交
3 4 5 6 7 8
窗口提供管理窗口的一些基础能力,包括对当前窗口的创建、销毁、各属性设置,以及对各窗口间的管理调度。

该模块提供以下窗口相关的常用功能:

- [Window](#window):当前窗口实例,窗口管理器管理的基本单元。
- [WindowStage](#windowstage9):窗口管理器。管理各个基本窗口单元。
G
ge-yafang 已提交
9

G
ge-yafang 已提交
10
> **说明:**
G
ge-yafang 已提交
11
>
12
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
13 14 15

## 导入模块

G
ge-yafang 已提交
16
```js
Z
zengyawen 已提交
17 18 19
import window from '@ohos.window';
```

G
ge-yafang 已提交
20
## WindowType<sup>7+</sup>
C
chyyy0213 已提交
21

G
ge-yafang 已提交
22
窗口类型枚举。
C
chyyy0213 已提交
23

G
ge-yafang 已提交
24
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
25

G
ge-yafang 已提交
26
| 名称              | 值 | 说明               |
C
chyyy0213 已提交
27
| ----------------- | ------ | ------------------ |
28
| TYPE_APP          | 0      | 表示应用子窗口。<br>**模型约束:** 此接口仅可在FA模型下使用。 |
Z
zhirong 已提交
29
| TYPE_SYSTEM_ALERT | 1      | 表示系统告警窗口。 |
30 31 32 33 34 35 36 37 38 39 40 41 42
| TYPE_INPUT_METHOD<sup>9+</sup> | 2      | 表示输入法窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_STATUS_BAR<sup>9+</sup>   | 3      | 表示状态栏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_PANEL<sup>9+</sup>        | 4      | 表示通知栏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_KEYGUARD<sup>9+</sup>     | 5      | 表示锁屏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_VOLUME_OVERLAY<sup>9+</sup> | 6      | 表示音量条。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_NAVIGATION_BAR<sup>9+</sup> | 7      | 表示导航栏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_FLOAT<sup>9+</sup> | 8      | 表示悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**需要权限:** ohos.permission.SYSTEM_FLOAT_WINDOW |
| TYPE_WALLPAPER<sup>9+</sup> | 9      | 表示壁纸。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_DESKTOP<sup>9+</sup> | 10      | 表示桌面。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_LAUNCHER_RECENT<sup>9+</sup> | 11      | 表示多任务中心。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_LAUNCHER_DOCK<sup>9+</sup> | 12      | 表示桌面Dock栏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_VOICE_INTERACTION<sup>9+</sup> | 13      | 表示智慧语音。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_POINTER<sup>9+</sup> | 14      | 表示鼠标。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
Z
z00514981 已提交
43
| TYPE_FLOAT_CAMERA<sup>9+</sup> | 15      | 表示相机类型悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
44 45
| TYPE_DIALOG<sup>9+</sup>  | 16      | 表示模态窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_SCREENSHOT<sup>9+</sup>  | 17      | 表示截屏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
Z
zengyawen 已提交
46

47 48
## Configuration<sup>9+</sup>

49
创建子窗口或系统窗口时的参数。
50 51 52

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
53
| 名称 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
54
| ---------- | -------------------------- | -- | ----------------------------------- |
55 56
| name       | string                     | 是 | 窗口名字。                         |
| windowType | [WindowType](#windowtype7) | 是 | 窗口类型。                         |
L
leafly2021 已提交
57
| ctx        | [BaseContext](js-apis-inner-application-baseContext.md) | 否 | 当前应用上下文信息。不设置,则默认为空。<br>FA模型下不需要使用该参数,即可创建子窗口。<br>Stage模型下需要使用该参数,用于创建系统窗口。 |
Z
zhengjiangliang 已提交
58 59
| displayId  | number                     | 否 | 当前物理屏幕id。不设置,则默认为-1。 |
| parentId   | number                     | 否 | 父窗口id。不设置,则默认为-1。      |
60

G
ge-yafang 已提交
61
## AvoidAreaType<sup>7+</sup>
陈海莹 已提交
62

G
ge-yafang 已提交
63
窗口内容需要规避区域的类型枚举。
陈海莹 已提交
64

G
ge-yafang 已提交
65
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
66

L
leafly2021 已提交
67 68
| 名称                             | 值   | 说明                                                         |
| -------------------------------- | ---- | ------------------------------------------------------------ |
69
| TYPE_SYSTEM                      | 0    | 表示系统默认区域。一般包括状态栏、导航栏,各设备系统定义可能不同。 |
L
leafly2021 已提交
70 71 72
| TYPE_CUTOUT                      | 1    | 表示刘海屏区域。                                             |
| TYPE_SYSTEM_GESTURE<sup>9+</sup> | 2    | 表示手势区域。                                               |
| TYPE_KEYBOARD<sup>9+</sup>       | 3    | 表示软键盘区域。                                             |
陈海莹 已提交
73

G
ge-yafang 已提交
74
## WindowMode<sup>7+</sup>
Z
zengyawen 已提交
75

G
ge-yafang 已提交
76
窗口模式枚举。
Z
zengyawen 已提交
77

78
**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
79

G
ge-yafang 已提交
80
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
81

G
ge-yafang 已提交
82 83 84 85 86 87 88
| 名称       | 值   | 说明                          |
| ---------- | ---- | ----------------------------- |
| UNDEFINED  | 1    | 表示APP未定义窗口模式。       |
| FULLSCREEN | 2    | 表示APP全屏模式。             |
| PRIMARY    | 3    | 表示APP分屏多窗口主要模式。   |
| SECONDARY  | 4    | 表示APP分屏多窗口次要模式。   |
| FLOATING   | 5    | 表示APP自由悬浮形式窗口模式。 |
Z
zengyawen 已提交
89

L
leafly2021 已提交
90 91 92 93
## WindowLayoutMode<sup>9+</sup>

窗口布局模式枚举。

94
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
95 96 97 98 99 100 101 102

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

| 名称       | 值   | 说明                          |
| ---------- | ---- | ----------------------------- |
| WINDOW_LAYOUT_MODE_CASCADE  | 0    | 表示使用层叠布局模式。       |
| WINDOW_LAYOUT_MODE_TILE | 1    | 表示使用平铺布局模式。             |

G
ge-yafang 已提交
103
## SystemBarProperties
Z
zengyawen 已提交
104

G
ge-yafang 已提交
105
状态栏、导航栏的属性。
Z
zengyawen 已提交
106

G
ge-yafang 已提交
107
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
108

109 110 111 112 113 114 115 116
| 名称                                   | 类型 |  必填 | 说明                                                         |
| -------------------------------------- | -------- | ---- | ------------------------------------------------------------ |
| statusBarColor                         | string   |  否   | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000`。 |
| isStatusBarLightIcon<sup>7+</sup>      | boolean  |  否   | 状态栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| statusBarContentColor<sup>8+</sup>     | string   |  否   | 状态栏文字颜色。当设置此属性后, `isStatusBarLightIcon`属性设置无效。默认值:`0xE5FFFFFF。` |
| navigationBarColor                     | string   |  否   | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000。` |
| isNavigationBarLightIcon<sup>7+</sup>  | boolean  |  否   | 导航栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| navigationBarContentColor<sup>8+</sup> | string   |  否   | 导航栏文字颜色。当设置此属性后, `isNavigationBarLightIcon`属性设置无效。默认值:`#0xE5FFFFFF。` |
C
chyyy0213 已提交
117

X
xpeng 已提交
118
## Orientation<sup>9+</sup>
X
xpeng 已提交
119

X
xpeng 已提交
120
窗口显示方向类型枚举。
X
xpeng 已提交
121 122 123 124 125 126 127 128

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

| 名称                                  | 值   | 说明                          |
| ------------------------------------- | ---- | ----------------------------- |
| UNSPECIFIED                           | 0    | 表示未定义方向模式,由系统判定。 |
| PORTRAIT                              | 1    | 表示竖屏显示模式。             |
| LANDSCAPE                             | 2    | 表示横屏显示模式。   |
X
xpeng 已提交
129
| PORTRAIT_INVERTED                     | 3    | 表示反向竖屏显示模式。   |
X
xpeng 已提交
130 131
| LANDSCAPE_INVERTED                    | 4    | 表示反向横屏显示模式。 |
| AUTO_ROTATION                         | 5    | 表示传感器自动旋转模式。 |
X
xpeng 已提交
132 133
| AUTO_ROTATION_PORTRAIT                | 6    | 表示传感器自动竖向旋转模式。 |
| AUTO_ROTATION_LANDSCAPE               | 7    | 表示传感器自动横向旋转模式。 |
X
xpeng 已提交
134
| AUTO_ROTATION_RESTRICTED              | 8    | 表示受开关控制的自动旋转模式。 |
X
xpeng 已提交
135 136
| AUTO_ROTATION_PORTRAIT_RESTRICTED     | 9    | 表示受开关控制的自动竖向旋转模式。 |
| AUTO_ROTATION_LANDSCAPE_RESTRICTED    | 10   | 表述受开关控制的自动横向旋转模式。 |
X
xpeng 已提交
137 138
| LOCKED                                | 11   | 表示锁定模式。 |

Q
qianlf 已提交
139 140 141 142
## BlurStyle<sup>9+</sup>

窗口模糊类型枚举。

143
**系统接口:** 此接口为系统接口。
Q
qianlf 已提交
144 145 146 147 148 149 150 151 152 153

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

| 名称    | 值   | 说明                 |
| ------- | ---- | -------------------- |
| OFF     | 0    | 表示关闭模糊。       |
| THIN    | 1    | 表示较薄的模糊类型。 |
| REGULAR | 2    | 表示适中的模糊类型。 |
| THICK   | 3    | 表示较厚的模糊类型。 |

G
ge-yafang 已提交
154
## SystemBarRegionTint<sup>8+</sup>
C
chyyy0213 已提交
155 156 157

单个导航栏或状态栏回调信息。

158
**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
159

G
ge-yafang 已提交
160
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
161

Z
zhengjiangliang 已提交
162
| 名称            | 类型                  | 可读 | 可写 | 说明                                                         |
C
chyyy0213 已提交
163
| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
164
| type            | [WindowType](#windowtype7) | 是   | 否   | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 |
Z
zhengjiangliang 已提交
165
| isEnable        | boolean                   | 是   | 否   | 当前系统栏是否显示。true表示显示;false表示不显示。 |
L
leafly2021 已提交
166
| region          | [Rect](#rect7)             | 是   | 否   | 当前系统栏的位置及大小。                                     |
167 168
| backgroundColor | string                    | 是   | 否   | 系统栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
| contentColor    | string                    | 是   | 否   | 系统栏文字颜色。                                             |
Z
zengyawen 已提交
169

G
ge-yafang 已提交
170
## SystemBarTintState<sup>8+</sup>
C
chyyy0213 已提交
171 172 173

当前系统栏回调信息集合。

174
**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
175

G
ge-yafang 已提交
176
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
177

Z
zhengjiangliang 已提交
178
| 名称       | 类型                                            | 可读 | 可写 | 说明                         |
G
ge-yafang 已提交
179 180
| ---------- | --------------------------------------------------- | ---- | ---- | ---------------------------- |
| displayId  | number                                              | 是   | 否   | 当前物理屏幕id。             |
181
| regionTint | Array<[SystemBarRegionTint](#systembarregiontint8)> | 是   | 否   | 当前已改变的所有系统栏信息。 |
Z
zengyawen 已提交
182

G
ge-yafang 已提交
183
## Rect<sup>7+</sup>
Z
zengyawen 已提交
184

G
ge-yafang 已提交
185
窗口矩形区域。
Z
zengyawen 已提交
186

G
ge-yafang 已提交
187
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
188

Z
zhengjiangliang 已提交
189
| 名称   | 类型 | 可读 | 可写 | 说明               |
C
chyyy0213 已提交
190
| ------ | -------- | ---- | ---- | ------------------ |
L
leafly2021 已提交
191 192 193 194
| left   | number   | 是   | 是   | 矩形区域的左边界,单位为px。 |
| top    | number   | 是   | 是   | 矩形区域的上边界,单位为px。 |
| width  | number   | 是   | 是   | 矩形区域的宽度,单位为px。 |
| height | number   | 是   | 是   | 矩形区域的高度,单位为px。 |
Z
zengyawen 已提交
195

G
ge-yafang 已提交
196
## AvoidArea<sup>7+</sup>
Z
zengyawen 已提交
197

G
ge-yafang 已提交
198
窗口内容规避区域。
Z
zengyawen 已提交
199

G
ge-yafang 已提交
200
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
201

Z
zhengjiangliang 已提交
202
| 名称       | 类型      | 可读 | 可写 | 说明               |
C
chyyy0213 已提交
203
| ---------- | ------------- | ---- | ---- | ------------------ |
Z
zhengjiangliang 已提交
204
| visible<sup>9+</sup>    | boolean       | 是   | 是   | 规避区域是否可见。true表示可见;false表示不可见。 |
L
leafly2021 已提交
205 206 207 208
| leftRect   | [Rect](#rect7) | 是   | 是   | 屏幕左侧的矩形区。 |
| topRect    | [Rect](#rect7) | 是   | 是   | 屏幕顶部的矩形区。 |
| rightRect  | [Rect](#rect7) | 是   | 是   | 屏幕右侧的矩形区。 |
| bottomRect | [Rect](#rect7) | 是   | 是   | 屏幕底部的矩形区。 |
Z
zengyawen 已提交
209

G
ge-yafang 已提交
210
## Size<sup>7+</sup>
Z
zengyawen 已提交
211 212 213

窗口大小。

G
ge-yafang 已提交
214
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
215

Z
zhengjiangliang 已提交
216
| 名称   | 类型 | 可读 | 可写 | 说明       |
C
chyyy0213 已提交
217
| ------ | -------- | ---- | ---- | ---------- |
L
leafly2021 已提交
218 219
| width  | number   | 是   | 是   | 窗口宽度,单位为px。 |
| height | number   | 是   | 是   | 窗口高度,单位为px。 |
Z
zengyawen 已提交
220

G
ge-yafang 已提交
221
## WindowProperties
Z
zengyawen 已提交
222 223 224

窗口属性。

G
ge-yafang 已提交
225
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
226

Z
zhengjiangliang 已提交
227
| 名称                                  | 类型                  | 可读 | 可写 | 说明                                                         |
L
leafly2021 已提交
228
| ------------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
L
leafly2021 已提交
229
| windowRect<sup>7+</sup>               | [Rect](#rect7)             | 是   | 是   | 窗口尺寸。                                                   |
230
| type<sup>7+</sup>                     | [WindowType](#windowtype7) | 是   | 是   | 窗口类型。                                                   |
Z
zhengjiangliang 已提交
231 232 233 234
| isFullScreen                          | boolean                   | 是   | 是   | 是否全屏,默认为false。true表示全屏;false表示非全屏。 |
| isLayoutFullScreen<sup>7+</sup>       | boolean                   | 是   | 是   | 窗口是否为沉浸式,默认为false。true表示沉浸式;false表示非沉浸式。 |
| focusable<sup>7+</sup>                | boolean                   | 是   | 否   | 窗口是否可聚焦,默认为true。true表示可聚焦;false表示不可聚焦。 |
| touchable<sup>7+</sup>                | boolean                   | 是   | 否   | 窗口是否可触摸,默认为true。true表示可触摸;false表示不可触摸。 |
L
leafly2021 已提交
235
| brightness                            | number                    | 是   | 是   | 屏幕亮度, 取值范围为0~1,1表示最大亮度值。                  |
Z
zhengjiangliang 已提交
236 237 238 239 240
| dimBehindValue<sup>(deprecated)</sup> | number                    | 是   | 是   | 靠后窗口的暗度值,取值范围为0~1,1表示最暗。<br>- **说明:** 从API version 9开始废弃。<br>- 从 API version 7开始支持。 |
| isKeepScreenOn                        | boolean                   | 是   | 是   | 屏幕是否常亮,默认为false。true表示常亮;false表示不常亮。 |
| isPrivacyMode<sup>7+</sup>            | boolean                   | 是   | 是   | 隐私模式,默认为false。true表示模式开启;false表示模式关闭。 |
| isRoundCorner<sup>(deprecated)</sup>  | boolean                   | 是   | 是   | 窗口是否为圆角。默认为false。true表示圆角;false表示非圆角。<br>- **说明:** 从API version 9开始废弃。<br/>- 从 API version 7开始支持。 |
| isTransparent<sup>7+</sup>            | boolean                   | 是   | 是   | 窗口是否透明。默认为false。true表示透明;false表示不透明。 |
M
mayunteng_1 已提交
241
| id<sup>9+</sup>                       | number                    | 是   | 否   | 窗口ID,默认值为0.0。                                                  |
Z
zengyawen 已提交
242

G
ge-yafang 已提交
243
## ColorSpace<sup>8+</sup>
Z
zengyawen 已提交
244

C
chyyy0213 已提交
245
色域模式。
Z
zengyawen 已提交
246

G
ge-yafang 已提交
247
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
248

249
| 名称       | 值 | 说明           |
C
chyyy0213 已提交
250
| ---------- | ------ | -------------- |
C
chenhaiying 已提交
251
| DEFAULT    | 0      | 默认SRGB色域模式。 |
C
chyyy0213 已提交
252
| WIDE_GAMUT | 1      | 广色域模式。   |
Z
zengyawen 已提交
253

L
leafly2021 已提交
254 255 256 257
## ScaleOptions<sup>9+</sup>

缩放参数。

258
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
259 260 261

**系统能力**:SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
262
| 名称   | 类型 | 可读 | 可写 | 说明                                               |
L
leafly2021 已提交
263 264 265 266 267 268 269 270 271 272
| ------ | -------- | ---- | ---- | -------------------------------------------------- |
| x      | number   | 否   | 是   | X轴的缩放参数,默认值为1.0。                       |
| y      | number   | 否   | 是   | Y轴的缩放参数,默认值为1.0。                       |
| pivotX | number   | 否   | 是   | 缩放中心点X轴坐标,默认值为0.5, 取值范围0.0~1.0。 |
| pivotY | number   | 否   | 是   | 缩放中心点Y轴坐标,默认值为0.5, 取值范围0.0~1.0。 |

## RotateOptions<sup>9+</sup>

旋转参数。

273
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
274 275 276

**系统能力**:SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
277
| 名称   | 类型 | 可读 | 可写 | 说明                                               |
L
leafly2021 已提交
278 279 280 281 282 283 284 285 286 287 288
| ------ | -------- | ---- | ---- | -------------------------------------------------- |
| x      | number   | 否   | 是   | 绕X轴的旋转角度,默认值为0.0。                     |
| y      | number   | 否   | 是   | 绕Y轴的旋转角度,默认值为0.0。                     |
| z      | number   | 否   | 是   | 绕Z轴的旋转角度,默认值为0.0。                     |
| pivotX | number   | 否   | 是   | 旋转中心点X轴坐标,默认值为0.5, 取值范围0.0~1.0。 |
| pivotY | number   | 否   | 是   | 旋转中心点Y轴坐标,默认值为0.5, 取值范围0.0~1.0。 |

## TranslateOptions<sup>9+</sup>

平移参数。

289
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
290 291 292

**系统能力**:SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
293
| 名称 | 类型 | 可读 | 可写 | 说明                         |
L
leafly2021 已提交
294 295 296 297 298
| ---- | -------- | ---- | ---- | ---------------------------- |
| x    | number   | 否   | 是   | X轴的平移参数,默认值为0.0。 |
| y    | number   | 否   | 是   | Y轴的平移参数,默认值为0.0。 |
| z    | number   | 否   | 是   | Z轴的平移参数,默认值为0.0。 |

299 300 301 302 303 304 305 306
## WindowEventType<sup>10+</sup>

窗口生命周期。

**系统能力**:SystemCapability.WindowManager.WindowManager.Core

| 名称       | 值 | 说明       |
| ---------- | ------ | ---------- |
Y
yangfei 已提交
307 308 309 310
| WINDOW_SHOWN      | 1      | 切到前台。 |
| WINDOW_ACTIVE     | 2      | 获焦状态。 |
| WINDOW_INACTIVE   | 3      | 失焦状态。 |
| WINDOW_HIDDEN     | 4      | 切到后台。 |
311

Z
zhengjiangliang 已提交
312
## window.createWindow<sup>9+</sup>
Z
zengyawen 已提交
313

Z
zhengjiangliang 已提交
314
createWindow(config: Configuration, callback: AsyncCallback&lt;Window&gt;): void
Z
zengyawen 已提交
315

316
创建子窗口或者系统窗口,使用callback异步回调。
Z
zengyawen 已提交
317

G
ge-yafang 已提交
318
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
319

L
leafly2021 已提交
320
**参数:**
C
chyyy0213 已提交
321

Z
zhengjiangliang 已提交
322 323
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | -- | --------------------------------- |
324 325
| config   | [Configuration](#configuration9)       | 是 | 创建窗口时的参数。   |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前创建的窗口对象。 |
Z
zhengjiangliang 已提交
326 327 328 329 330 331 332

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
333
| 1300001 | Repeated operation. |
Z
zhengjiangliang 已提交
334
| 1300006 | This window context is abnormal. |
Z
zengyawen 已提交
335

L
leafly2021 已提交
336
**示例:**
Z
zengyawen 已提交
337

G
ge-yafang 已提交
338
```js
339
let windowClass = null;
Z
zhengjiangliang 已提交
340 341 342 343 344 345 346 347 348 349 350 351 352
let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
try {
    window.createWindow(config, (err, data) => {
        if (err.code) {
            console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
            return;
        }
        windowClass = data;
        console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
        windowClass.resetSize(500, 1000);
    });
} catch (exception) {
    console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
353
}
G
ge-yafang 已提交
354
```
C
chyyy0213 已提交
355

Z
zhengjiangliang 已提交
356
## window.createWindow<sup>9+</sup>
C
chyyy0213 已提交
357

Z
zhengjiangliang 已提交
358
createWindow(config: Configuration): Promise&lt;Window&gt;
359

360
创建子窗口或者系统窗口,使用Promise异步回调。
Z
zengyawen 已提交
361

G
ge-yafang 已提交
362
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
363

L
leafly2021 已提交
364
**参数:**
C
chyyy0213 已提交
365

Z
zhengjiangliang 已提交
366 367
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------- | -- | ------------------ |
368
| config | [Configuration](#configuration9) | 是 | 创建窗口时的参数。 |
C
chyyy0213 已提交
369

L
leafly2021 已提交
370
**返回值:**
C
chyyy0213 已提交
371

Z
zhengjiangliang 已提交
372 373
| 类型 | 说明 |
| -------------------------------- | ------------------------------------ |
374
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的窗口对象。 |
C
chyyy0213 已提交
375

Z
zhengjiangliang 已提交
376
**错误码:**
Z
zengyawen 已提交
377

Z
zhengjiangliang 已提交
378
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)
Z
zengyawen 已提交
379

Z
zhengjiangliang 已提交
380 381
| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
382
| 1300001 | Repeated operation. |
Z
zhengjiangliang 已提交
383
| 1300006 | This window context is abnormal. |
Z
zengyawen 已提交
384

L
leafly2021 已提交
385
**示例:**
Z
zengyawen 已提交
386

G
ge-yafang 已提交
387
```js
388
let windowClass = null;
Z
zhengjiangliang 已提交
389 390 391 392 393 394 395 396 397 398 399
let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
try {
    let promise = window.createWindow(config);
    promise.then((data)=> {
        windowClass = data;
        console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
    }).catch((err)=>{
        console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
400
}
G
ge-yafang 已提交
401
```
C
chyyy0213 已提交
402

Z
zhengjiangliang 已提交
403
## window.findWindow<sup>9+</sup>
G
ge-yafang 已提交
404

Z
zhengjiangliang 已提交
405
findWindow(name: string): Window
C
chyyy0213 已提交
406

407
查找name所对应的窗口。
408

G
ge-yafang 已提交
409
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
410

L
leafly2021 已提交
411
**参数:**
C
chyyy0213 已提交
412

Z
zhengjiangliang 已提交
413 414 415
| 参数名 | 类型   | 必填 | 说明     |
| ------ | ------ | ---- | -------- |
| name   | string | 是   | 窗口id。 |
C
chyyy0213 已提交
416

L
leafly2021 已提交
417
**返回值:**
C
chyyy0213 已提交
418

Z
zhengjiangliang 已提交
419 420 421
| 类型 | 说明 |
| ----------------- | ------------------- |
| [Window](#window) | 当前查找的窗口对象。 |
C
chyyy0213 已提交
422

L
leafly2021 已提交
423
**示例:**
C
chyyy0213 已提交
424

G
ge-yafang 已提交
425
```js
Z
zhengjiangliang 已提交
426
let windowClass = null;
Z
zhengjiangliang 已提交
427
try {
Z
zhengjiangliang 已提交
428
    windowClass = window.findWindow('alertWindow');
Z
zhengjiangliang 已提交
429 430
} catch (exception) {
    console.error('Failed to find the Window. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
431
}
G
ge-yafang 已提交
432
```
Z
zengyawen 已提交
433

Z
zhengjiangliang 已提交
434
## window.getLastWindow<sup>9+</sup>
435

Z
zhengjiangliang 已提交
436
getLastWindow(ctx: BaseContext, callback: AsyncCallback&lt;Window&gt;): void
437

Z
zhengjiangliang 已提交
438
获取当前应用内最后显示的窗口,使用callback异步回调。
439 440 441 442 443 444

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
445
| -------- | -------------------------------------- | -- | ---------------------------------------- |
L
leafly2021 已提交
446
| ctx      | [BaseContext](js-apis-inner-application-baseContext.md) | 是 | 当前应用上下文信息。 |
Z
zhengjiangliang 已提交
447 448 449 450 451 452 453 454 455 456
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 1300002 | This window state is abnormal.   |
| 1300006 | This window context is abnormal. |
457 458 459 460 461 462

**示例:**

```js
let windowClass = null;
try {
Z
zhengjiangliang 已提交
463
    window.getLastWindow(this.context, (err, data) => {
464
        if (err.code) {
Z
zhengjiangliang 已提交
465
            console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
466 467 468
            return;
        }
        windowClass = data;
Z
zhengjiangliang 已提交
469
        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
470 471
    });
} catch (exception) {
Z
zhengjiangliang 已提交
472
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
473
}
474 475
```

Z
zhengjiangliang 已提交
476
## window.getLastWindow<sup>9+</sup>
477

Z
zhengjiangliang 已提交
478
getLastWindow(ctx: BaseContext): Promise&lt;Window&gt;
479

Z
zhengjiangliang 已提交
480
获取当前应用内最后显示的窗口,使用Promise异步回调。
481 482 483 484 485 486

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
487
| ------ | ----------- | ---- | ------------------------------------------------------------ |
L
leafly2021 已提交
488
| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
489 490 491 492

**返回值:**

| 类型 | 说明 |
Z
zhengjiangliang 已提交
493 494 495 496 497 498 499 500 501 502 503
| -------------------------------- | ------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 1300002 | This window state is abnormal.   |
| 1300006 | This window context is abnormal. |
504 505 506 507 508 509

**示例:**

```js
let windowClass = null;
try {
Z
zhengjiangliang 已提交
510
    let promise = window.getLastWindow(this.context);
511 512
    promise.then((data)=> {
        windowClass = data;
Z
zhengjiangliang 已提交
513
        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
514
    }).catch((err)=>{
Z
zhengjiangliang 已提交
515
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
516 517
    });
} catch (exception) {
Z
zhengjiangliang 已提交
518
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
519
}
520 521
```

Z
zhengjiangliang 已提交
522 523
## window.minimizeAll<sup>9+</sup>
minimizeAll(id: number, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
524

Z
zhengjiangliang 已提交
525
最小化某显示设备下的所有窗口。
C
chyyy0213 已提交
526

Z
zhengjiangliang 已提交
527
**系统接口:** 此接口为系统接口。
528

G
ge-yafang 已提交
529
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
530

L
leafly2021 已提交
531
**参数:**
C
chyyy0213 已提交
532

Z
zhengjiangliang 已提交
533 534 535 536 537 538 539 540 541 542 543
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
544
| 1300003 | This window manager service works abnormally. |
Z
zengyawen 已提交
545

L
leafly2021 已提交
546
**示例:**
C
chyyy0213 已提交
547

G
ge-yafang 已提交
548
```js
Z
zhengjiangliang 已提交
549
import display from '@ohos.display'
C
chyyy0213 已提交
550

Z
zhengjiangliang 已提交
551
let displayClass = null;
Z
zhengjiangliang 已提交
552 553
try {
    displayClass = display.getDefaultDisplaySync();
C
chyyy0213 已提交
554

Z
zhengjiangliang 已提交
555 556 557 558 559 560 561 562 563 564 565
    try {
        window.minimizeAll(displayClass.id, (err) => {
            if(err.code) {
                console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
                return;
            }
            console.info('Succeeded in minimizing all windows.');
        });
    } catch (exception) {
        console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception));
    }
Z
zhengjiangliang 已提交
566
} catch (exception) {
Z
zhengjiangliang 已提交
567 568
    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
}
Z
zhengjiangliang 已提交
569
```
C
chyyy0213 已提交
570

Z
zhengjiangliang 已提交
571 572
## window.minimizeAll<sup>9+</sup>
minimizeAll(id: number): Promise&lt;void&gt;
C
chyyy0213 已提交
573

Z
zhengjiangliang 已提交
574 575 576
最小化某显示设备下的所有窗口。

**系统接口:** 此接口为系统接口。
577

G
ge-yafang 已提交
578
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
579

L
leafly2021 已提交
580
**参数:**
C
chyyy0213 已提交
581

Z
zhengjiangliang 已提交
582 583 584
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号。 |
C
chyyy0213 已提交
585

L
leafly2021 已提交
586
**返回值:**
C
chyyy0213 已提交
587

Z
zhengjiangliang 已提交
588 589 590 591 592 593 594 595 596 597
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
598
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
599

L
leafly2021 已提交
600
**示例:**
C
chyyy0213 已提交
601

G
ge-yafang 已提交
602
```js
Z
zhengjiangliang 已提交
603
import display from '@ohos.display'
604

605
let displayClass = null;
Z
zhengjiangliang 已提交
606 607
try {
    displayClass = display.getDefaultDisplaySync();
608

Z
zhengjiangliang 已提交
609 610 611 612 613 614 615 616 617 618
    try {
        let promise = window.minimizeAll(displayClass.id);
        promise.then(()=> {
            console.info('Succeeded in minimizing all windows.');
        }).catch((err)=>{
            console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
        });
    } catch (exception) {
        console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception));
    }
619
} catch (exception) {
Z
zhengjiangliang 已提交
620 621
    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
}
622 623
```

Z
zhengjiangliang 已提交
624 625
## window.toggleShownStateForAllAppWindows<sup>9+</sup>
toggleShownStateForAllAppWindows(callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
626

Z
zhengjiangliang 已提交
627
多窗口快速切换时隐藏或者恢复应用窗口。
628

Z
zhengjiangliang 已提交
629
**系统接口:** 此接口为系统接口。
G
ge-yafang 已提交
630

G
ge-yafang 已提交
631
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
632

L
leafly2021 已提交
633
**参数:**
C
chyyy0213 已提交
634

Z
zhengjiangliang 已提交
635 636 637 638 639 640 641 642 643 644
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
645
| 1300003 | This window manager service works abnormally. |
Z
zengyawen 已提交
646

L
leafly2021 已提交
647
**示例:**
C
chyyy0213 已提交
648

G
ge-yafang 已提交
649
```js
Z
zhengjiangliang 已提交
650
window.toggleShownStateForAllAppWindows((err) => {
G
ge-yafang 已提交
651
    if (err.code) {
Z
zhengjiangliang 已提交
652
        console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
653 654
        return;
    }
Z
zhengjiangliang 已提交
655
    console.info('Succeeded in toggling shown state for all app windows.');
Z
zhengjiangliang 已提交
656
});
G
ge-yafang 已提交
657
```
Z
zengyawen 已提交
658

Z
zhengjiangliang 已提交
659 660
## window.toggleShownStateForAllAppWindows<sup>9+</sup>
toggleShownStateForAllAppWindows(): Promise&lt;void&gt;
C
chyyy0213 已提交
661

Z
zhengjiangliang 已提交
662
多窗口快速切换时隐藏或者恢复应用窗口。
663

Z
zhengjiangliang 已提交
664
**系统接口:** 此接口为系统接口。
G
ge-yafang 已提交
665

G
ge-yafang 已提交
666
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
667

L
leafly2021 已提交
668
**返回值:**
C
chyyy0213 已提交
669

Z
zhengjiangliang 已提交
670 671 672 673 674 675 676 677 678 679
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
680
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
681

L
leafly2021 已提交
682
**示例:**
C
chyyy0213 已提交
683

G
ge-yafang 已提交
684
```js
Z
zhengjiangliang 已提交
685 686 687
let promise = window.toggleShownStateForAllAppWindows();
promise.then(()=> {
    console.info('Succeeded in toggling shown state for all app windows.');
G
ge-yafang 已提交
688
}).catch((err)=>{
Z
zhengjiangliang 已提交
689
    console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
690
});
G
ge-yafang 已提交
691
```
C
chyyy0213 已提交
692

Z
zhengjiangliang 已提交
693 694
## window.setWindowLayoutMode<sup>9+</sup>
setWindowLayoutMode(mode: WindowLayoutMode, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
695

Z
zhengjiangliang 已提交
696
设置窗口布局模式。
Z
zengyawen 已提交
697

Z
zhengjiangliang 已提交
698
**系统接口:** 此接口为系统接口。
699

G
ge-yafang 已提交
700
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
701

L
leafly2021 已提交
702
**参数:**
C
chyyy0213 已提交
703

Z
zhengjiangliang 已提交
704 705 706 707 708 709 710 711 712 713 714
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| mode       | [WindowLayoutMode](#windowlayoutmode9)                  | 是   | 设置的窗口布局模式。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
715
| 1300003 | This window manager service works abnormally. |
Z
zengyawen 已提交
716

L
leafly2021 已提交
717
**示例:**
C
chyyy0213 已提交
718

G
ge-yafang 已提交
719
```js
Z
zhengjiangliang 已提交
720 721 722 723 724 725 726 727 728 729
try {
    window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE, (err) => {
        if(err.code) {
            console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting window layout mode.');
    });
} catch (exception) {
    console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
730
}
G
ge-yafang 已提交
731
```
Z
zengyawen 已提交
732

Z
zhengjiangliang 已提交
733 734
## window.setWindowLayoutMode<sup>9+</sup>
setWindowLayoutMode(mode: WindowLayoutMode): Promise&lt;void&gt;
C
chyyy0213 已提交
735

Z
zhengjiangliang 已提交
736
设置窗口布局模式。
C
chyyy0213 已提交
737

Z
zhengjiangliang 已提交
738
**系统接口:** 此接口为系统接口。
739

G
ge-yafang 已提交
740
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
741

L
leafly2021 已提交
742
**参数:**
C
chyyy0213 已提交
743

Z
zhengjiangliang 已提交
744 745 746
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| mode       | [WindowLayoutMode](#windowlayoutmode9)                    | 是   | 设置的窗口布局模式。 |
C
chyyy0213 已提交
747

L
leafly2021 已提交
748
**返回值:**
C
chyyy0213 已提交
749

Z
zhengjiangliang 已提交
750 751 752 753 754 755 756 757 758 759
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
760
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
761

L
leafly2021 已提交
762
**示例:**
C
chyyy0213 已提交
763

G
ge-yafang 已提交
764
```js
Z
zhengjiangliang 已提交
765 766 767 768 769 770 771 772 773
try {
    let promise = window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE);
    promise.then(()=> {
        console.info('Succeeded in setting window layout mode.');
    }).catch((err)=>{
        console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
774
}
G
ge-yafang 已提交
775
```
C
chyyy0213 已提交
776

Z
zhengjiangliang 已提交
777
## window.on('systemBarTintChange')<sup>8+</sup>
778

Z
zhengjiangliang 已提交
779
on(type: 'systemBarTintChange', callback: Callback&lt;SystemBarTintState&gt;): void
780

Z
zhengjiangliang 已提交
781 782 783
开启状态栏、导航栏属性变化的监听。

**系统接口:** 此接口为系统接口。
784 785 786 787 788

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

L
leafly2021 已提交
789 790 791 792
| 参数名   | 类型                                                       | 必填 | 说明                                                         |
| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                     | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
| callback | Callback&lt;[SystemBarTintState](#systembartintstate8)&gt; | 是   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
793 794 795 796 797

**示例:**

```js
try {
Z
zhengjiangliang 已提交
798 799
    window.on('systemBarTintChange', (data) => {
        console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
800 801
    });
} catch (exception) {
Z
zhengjiangliang 已提交
802
    console.error('Failed to enable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
803
}
804 805
```

Z
zhengjiangliang 已提交
806 807 808
## window.off('systemBarTintChange')<sup>8+</sup>

off(type: 'systemBarTintChange', callback?: Callback&lt;SystemBarTintState &gt;): void
809

Z
zhengjiangliang 已提交
810
关闭状态栏、导航栏属性变化的监听。
811

Z
zhengjiangliang 已提交
812
**系统接口:** 此接口为系统接口。
813 814 815 816 817

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

L
leafly2021 已提交
818 819 820 821
| 参数名   | 类型                                                       | 必填 | 说明                                                         |
| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                     | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
| callback | Callback&lt;[SystemBarTintState](#systembartintstate8)&gt; | 否   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
822 823 824 825 826

**示例:**

```js
try {
Z
zhengjiangliang 已提交
827
    window.off('systemBarTintChange');
828
} catch (exception) {
Z
zhengjiangliang 已提交
829
    console.error('Failed to disable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
830
}
831 832
```

Z
zhangkai 已提交
833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974
## window.on('gestureNavigationEnabledChange')<sup>10+</sup>

on(type: 'gestureNavigationEnabledChange', callback: Callback&lt;boolean&gt;): void

添加手势导航启用状态变化的监听。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                     | 必填 | 说明                                                                          |
| -------- | ----------------------- | ---- | ----------------------------------------------------------------------------- |
| type     | string                  | 是   | 监听事件,固定为'gestureNavigationEnabledChange',即手势导航启用状态变化事件。    |
| callback | Callback&lt;boolean&gt; | 是   | 回调函数。返回当前手势导航的启用状态。true表示手势导航状态变化为启用;false表示手势导航状态变化为禁用。 |

**示例:**

```js
try {
    window.on('gestureNavigationEnabledChange', (data) => {
        console.info('Succeeded in enabling the listener for gesture navigation status changes. Data: ' + JSON.stringify(data));
    });
} catch (exception) {
    console.error('Failed to enable the listener for gesture navigation status changes. Cause: ' + JSON.stringify(exception));
}
```

## window.off('gestureNavigationEnabledChange')<sup>10+</sup>

off(type: 'gestureNavigationEnabledChange', callback?: Callback&lt;boolean&gt;): void

移除手势导航启用状态变化的监听。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                     | 必填 | 说明                                                        |
| -------- | ----------------------- | -- | ------------------------------------------------------------ |
| type     | string                  | 是 | 监听事件,固定为'gestureNavigationEnabledChange',即手势导航启用状态变化事件。 |
| callback | Callback&lt;boolean&gt; | 否 | 已注册的回调函数。参数传入时表示只移除该监听;参数未传入时表示移除所有手势导航启用状态变化的监听。 |

**示例:**

```js
try {
    window.off('gestureNavigationEnabledChange');
} catch (exception) {
    console.error('Failed to disable the listener for gesture navigation status changes. Cause: ' + JSON.stringify(exception));
}
```

## window.setGestureNavigationEnabled<sup>10+</sup>
setGestureNavigationEnabled(enable: boolean, callback: AsyncCallback&lt;void&gt;): void

设置手势导航启用状态。使用callback异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| enable   | boolean                  | 是   | 设置手势导航启用状态。true表示启用手势导航;false表示禁用手势导航。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | --------------------------------------------- |
| 1300002 | This window state is abnormal.                |
| 1300003 | This window manager service works abnormally. |

**示例:**

```js
try {
    window.setGestureNavigationEnabled(true, (err) => {
        if(err.code) {
            console.error('Failed to set gesture navigation enabled. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting gesture navigation enabled.');
    });
} catch (exception) {
    console.error('Failed to set gesture navigation enabled. Cause: ' + JSON.stringify(exception));
}
```

## window.setGestureNavigationEnabled<sup>10+</sup>
setGestureNavigationEnabled(enable: boolean): Promise&lt;void&gt;

设置手势导航启用状态。使用Promise异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型     | 必填  | 说明                 |
| ------ | ------- | ---- | -------------------- |
| enable | boolean | 是   | 设置手势导航启用状态。true表示启用手势导航;false表示禁用手势导航。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.                |
| 1300003 | This window manager service works abnormally. |

**示例:**

```js
try {
    let promise = window.setGestureNavigationEnabled(true);
    promise.then(()=> {
        console.info('Succeeded in setting gesture navigation enabled.');
    }).catch((err)=>{
        console.error('Failed to set gesture navigation enabled. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set gesture navigation enabled. Cause: ' + JSON.stringify(exception));
}
```

Z
zhengjiangliang 已提交
975
## window.create<sup>(deprecated)</sup>
L
leafly2021 已提交
976

Z
zhengjiangliang 已提交
977
create(id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
L
leafly2021 已提交
978

Z
zhengjiangliang 已提交
979 980 981
创建子窗口,使用callback异步回调。

> **说明:**
C
chyyy0213 已提交
982
>
Z
zhengjiangliang 已提交
983 984 985
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。

**模型约束:** 此接口仅可在FA模型下使用。
L
leafly2021 已提交
986 987 988 989 990

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
991 992 993 994 995
| 参数名   | 类型                                   | 必填 | 说明                                 |
| -------- | -------------------------------------- | ---- | ------------------------------------ |
| id       | string                                 | 是   | 窗口id。                             |
| type     | [WindowType](#windowtype7)              | 是   | 窗口类型。                           |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前创建的子窗口对象。 |
L
leafly2021 已提交
996 997 998 999

**示例:**

```js
Z
zhengjiangliang 已提交
1000 1001 1002 1003
let windowClass = null;
window.create('first', window.WindowType.TYPE_APP,(err,data) => {
    if(err.code){
        console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
1004 1005
        return;
    }
Z
zhengjiangliang 已提交
1006 1007
    windowClass = data;
    console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
L
leafly2021 已提交
1008 1009 1010
});
```

Z
zhengjiangliang 已提交
1011
## window.create<sup>(deprecated)</sup>
L
leafly2021 已提交
1012

Z
zhengjiangliang 已提交
1013
create(id: string, type: WindowType): Promise&lt;Window&gt;
L
leafly2021 已提交
1014

Z
zhengjiangliang 已提交
1015 1016 1017
创建子窗口,使用Promise异步回调。

> **说明:**
C
chyyy0213 已提交
1018
>
Z
zhengjiangliang 已提交
1019 1020 1021
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。

**模型约束:** 此接口仅可在FA模型下使用。
L
leafly2021 已提交
1022 1023 1024 1025 1026

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
1027 1028 1029 1030
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| id     | string                    | 是   | 窗口id。   |
| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |
L
leafly2021 已提交
1031

L
leafly2021 已提交
1032
**返回值:**
L
leafly2021 已提交
1033

Z
zhengjiangliang 已提交
1034 1035 1036
| 类型                             | 说明                                    |
| -------------------------------- | --------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
L
leafly2021 已提交
1037 1038 1039 1040

**示例:**

```js
Z
zhengjiangliang 已提交
1041 1042 1043 1044 1045 1046 1047
let windowClass = null;
let promise = window.create('first', window.WindowType.TYPE_APP);
promise.then((data)=> {
    windowClass = data;
    console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
1048 1049 1050
});
```

Z
zhengjiangliang 已提交
1051
## window.create<sup>(deprecated)</sup>
L
leafly2021 已提交
1052

Z
zhengjiangliang 已提交
1053
create(ctx: BaseContext, id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
L
leafly2021 已提交
1054

L
leafly2021 已提交
1055
创建系统窗口,使用callback异步回调。
Z
zhengjiangliang 已提交
1056 1057

> **说明:**
C
chyyy0213 已提交
1058
>
Z
zhengjiangliang 已提交
1059
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。
L
leafly2021 已提交
1060 1061 1062 1063 1064

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

L
leafly2021 已提交
1065 1066 1067 1068 1069 1070
| 参数名   | 类型                                                    | 必填 | 说明                                 |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------ |
| ctx      | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。                 |
| id       | string                                                  | 是   | 窗口id。                             |
| type     | [WindowType](#windowtype7)                              | 是   | 窗口类型。                           |
| callback | AsyncCallback&lt;[Window](#window)&gt;                  | 是   | 回调函数。返回当前创建的子窗口对象。 |
L
leafly2021 已提交
1071 1072 1073 1074

**示例:**

```js
Z
zhengjiangliang 已提交
1075
let windowClass = null;
1076
window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
L
leafly2021 已提交
1077
    if (err.code) {
Z
zhengjiangliang 已提交
1078
        console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
1079 1080
        return;
    }
Z
zhengjiangliang 已提交
1081 1082 1083 1084
    windowClass = data;
    console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
    windowClass.resetSize(500, 1000);
});
L
leafly2021 已提交
1085 1086
```

Z
zhengjiangliang 已提交
1087
## window.create<sup>(deprecated)</sup>
L
leafly2021 已提交
1088

Z
zhengjiangliang 已提交
1089
create(ctx: BaseContext, id: string, type: WindowType): Promise&lt;Window&gt;
L
leafly2021 已提交
1090

L
leafly2021 已提交
1091
创建系统窗口,使用Promise异步回调。
Z
zhengjiangliang 已提交
1092 1093

> **说明:**
C
chyyy0213 已提交
1094
>
Z
zhengjiangliang 已提交
1095
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。
L
leafly2021 已提交
1096 1097 1098

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
1099 1100 1101 1102
**参数:**

| 参数名 | 类型                      | 必填 | 说明                                                         |
| ------ | ------------------------- | ---- | ------------------------------------------------------------ |
L
leafly2021 已提交
1103
| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
Z
zhengjiangliang 已提交
1104 1105 1106
| id     | string                    | 是   | 窗口id。                                                     |
| type   | [WindowType](#windowtype7) | 是   | 窗口类型。                                                   |

L
leafly2021 已提交
1107
**返回值:**
L
leafly2021 已提交
1108

Z
zhengjiangliang 已提交
1109 1110 1111
| 类型                             | 说明                                    |
| -------------------------------- | --------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
L
leafly2021 已提交
1112 1113 1114 1115

**示例:**

```js
Z
zhengjiangliang 已提交
1116 1117
let windowClass = null;
let promise = window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT);
L
leafly2021 已提交
1118
promise.then((data)=> {
Z
zhengjiangliang 已提交
1119 1120
    windowClass = data;
    console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
L
leafly2021 已提交
1121
}).catch((err)=>{
Z
zhengjiangliang 已提交
1122 1123
    console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
});
L
leafly2021 已提交
1124 1125
```

Z
zhengjiangliang 已提交
1126
## window.find<sup>(deprecated)</sup>
L
leafly2021 已提交
1127

Z
zhengjiangliang 已提交
1128
find(id: string, callback: AsyncCallback&lt;Window&gt;): void
L
leafly2021 已提交
1129

Z
zhengjiangliang 已提交
1130 1131 1132
查找id所对应的窗口,使用callback异步回调。

> **说明:**
C
chyyy0213 已提交
1133
>
Z
zhengjiangliang 已提交
1134
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
L
leafly2021 已提交
1135 1136 1137 1138 1139

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
1140 1141 1142 1143
| 参数名   | 类型                                   | 必填 | 说明                                 |
| -------- | -------------------------------------- | ---- | ------------------------------------ |
| id       | string                                 | 是   | 窗口id。                             |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前查找到的窗口对象。 |
L
leafly2021 已提交
1144 1145 1146 1147

**示例:**

```js
Z
zhengjiangliang 已提交
1148
let windowClass = null;
1149 1150 1151 1152 1153 1154 1155
window.find('alertWindow', (err, data) => {
    if (err.code) {
        console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
        return;
    }
    windowClass = data;
    console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
Z
zhengjiangliang 已提交
1156
});
L
leafly2021 已提交
1157 1158
```

Z
zhengjiangliang 已提交
1159
## window.find<sup>(deprecated)</sup>
L
leafly2021 已提交
1160

Z
zhengjiangliang 已提交
1161
find(id: string): Promise&lt;Window&gt;
L
leafly2021 已提交
1162

Z
zhengjiangliang 已提交
1163 1164 1165
查找id所对应的窗口,使用Promise异步回调。

> **说明:**
C
chyyy0213 已提交
1166
>
Z
zhengjiangliang 已提交
1167
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
L
leafly2021 已提交
1168 1169 1170 1171 1172

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
1173 1174 1175
| 参数名 | 类型   | 必填 | 说明     |
| ------ | ------ | ---- | -------- |
| id     | string | 是   | 窗口id。 |
L
leafly2021 已提交
1176

L
leafly2021 已提交
1177
**返回值:**
L
leafly2021 已提交
1178

Z
zhengjiangliang 已提交
1179 1180 1181
| 类型                             | 说明                                  |
| -------------------------------- | ------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前查找的窗口对象。 |
L
leafly2021 已提交
1182 1183 1184 1185

**示例:**

```js
Z
zhengjiangliang 已提交
1186 1187 1188
let windowClass = null;
let promise = window.find('alertWindow');
promise.then((data)=> {
1189
    windowClass = data;
Z
zhengjiangliang 已提交
1190 1191 1192 1193
    console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
});
L
leafly2021 已提交
1194 1195
```

Z
zhengjiangliang 已提交
1196
## window.getTopWindow<sup>(deprecated)</sup>
Z
zengyawen 已提交
1197

Z
zhengjiangliang 已提交
1198
getTopWindow(callback: AsyncCallback&lt;Window&gt;): void
Z
zengyawen 已提交
1199

Z
zhengjiangliang 已提交
1200
获取当前应用内最后显示的窗口,使用callback异步回调。
Z
zengyawen 已提交
1201

Z
zhengjiangliang 已提交
1202
> **说明:**
C
chyyy0213 已提交
1203
>
Z
zhengjiangliang 已提交
1204 1205 1206
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。

**模型约束:** 此接口仅可在FA模型下使用。
C
chyyy0213 已提交
1207

G
ge-yafang 已提交
1208
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1209

L
leafly2021 已提交
1210
**参数:**
C
chyyy0213 已提交
1211

Z
zhengjiangliang 已提交
1212 1213 1214
| 参数名   | 类型                                   | 必填 | 说明                                         |
| -------- | -------------------------------------- | ---- | -------------------------------------------- |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。 |
Z
zengyawen 已提交
1215

L
leafly2021 已提交
1216
**示例:**
C
chyyy0213 已提交
1217

G
ge-yafang 已提交
1218
```js
Z
zhengjiangliang 已提交
1219 1220 1221 1222 1223 1224 1225 1226 1227
let windowClass = null;
window.getTopWindow((err, data) => {
    if (err.code) {
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
        return;
    }
    windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
G
ge-yafang 已提交
1228
```
Z
zengyawen 已提交
1229

Z
zhengjiangliang 已提交
1230
## window.getTopWindow<sup>(deprecated)</sup>
Z
zengyawen 已提交
1231

Z
zhengjiangliang 已提交
1232
getTopWindow(): Promise&lt;Window&gt;
Z
zengyawen 已提交
1233

Z
zhengjiangliang 已提交
1234
获取当前应用内最后显示的窗口,使用Promise异步回调。
Z
zengyawen 已提交
1235

Z
zhengjiangliang 已提交
1236
> **说明:**
C
chyyy0213 已提交
1237
>
Z
zhengjiangliang 已提交
1238 1239 1240
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。

**模型约束:** 此接口仅可在FA模型下使用。
C
chyyy0213 已提交
1241

G
ge-yafang 已提交
1242
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1243

Z
zhengjiangliang 已提交
1244
**返回值:**
C
chyyy0213 已提交
1245

Z
zhengjiangliang 已提交
1246 1247 1248
| 类型                             | 说明                                            |
| -------------------------------- | ----------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
Z
zengyawen 已提交
1249

L
leafly2021 已提交
1250
**示例:**
C
chyyy0213 已提交
1251

G
ge-yafang 已提交
1252
```js
Z
zhengjiangliang 已提交
1253 1254 1255
let windowClass = null;
let promise = window.getTopWindow();
promise.then((data)=> {
1256
    windowClass = data;
Z
zhengjiangliang 已提交
1257 1258 1259
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
1260
});
G
ge-yafang 已提交
1261
```
Z
zengyawen 已提交
1262

Z
zhengjiangliang 已提交
1263
## window.getTopWindow<sup>(deprecated)</sup>
Z
zengyawen 已提交
1264

Z
zhengjiangliang 已提交
1265
getTopWindow(ctx: BaseContext, callback: AsyncCallback&lt;Window&gt;): void
Z
zengyawen 已提交
1266

Z
zhengjiangliang 已提交
1267
获取当前应用内最后显示的窗口,使用callback异步回调。
Z
zengyawen 已提交
1268

Z
zhengjiangliang 已提交
1269
> **说明:**
C
chyyy0213 已提交
1270
>
Z
zhengjiangliang 已提交
1271
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。
C
chyyy0213 已提交
1272

G
ge-yafang 已提交
1273
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1274

L
leafly2021 已提交
1275
**参数:**
C
chyyy0213 已提交
1276

Z
zhengjiangliang 已提交
1277 1278
| 参数名   | 类型                                   | 必填 | 说明                                                         |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
L
leafly2021 已提交
1279
| ctx      | [BaseContext](js-apis-inner-application-baseContext.md)                            | 是   | 当前应用上下文信息。 |
Z
zhengjiangliang 已提交
1280 1281 1282
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。                 |

**示例:**
C
chyyy0213 已提交
1283

G
ge-yafang 已提交
1284
```js
Z
zhengjiangliang 已提交
1285 1286
let windowClass = null;
window.getTopWindow(this.context, (err, data) => {
G
ge-yafang 已提交
1287
    if (err.code) {
Z
zhengjiangliang 已提交
1288
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1289 1290
        return;
    }
Z
zhengjiangliang 已提交
1291 1292 1293
    windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
G
ge-yafang 已提交
1294
```
Z
zengyawen 已提交
1295

Z
zhengjiangliang 已提交
1296
## window.getTopWindow<sup>(deprecated)</sup>
C
chyyy0213 已提交
1297

Z
zhengjiangliang 已提交
1298
getTopWindow(ctx: BaseContext): Promise&lt;Window&gt;
C
chyyy0213 已提交
1299

Z
zhengjiangliang 已提交
1300
获取当前应用内最后显示的窗口,使用Promise异步回调。
C
chyyy0213 已提交
1301

Z
zhengjiangliang 已提交
1302
> **说明:**
C
chyyy0213 已提交
1303
>
Z
zhengjiangliang 已提交
1304
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。
C
chyyy0213 已提交
1305

G
ge-yafang 已提交
1306
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1307

Z
zhengjiangliang 已提交
1308 1309 1310 1311
**参数:**

| 参数名 | 类型    | 必填 | 说明                                                         |
| ------ | ----------- | ---- | ------------------------------------------------------------ |
L
leafly2021 已提交
1312
| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
Z
zhengjiangliang 已提交
1313

L
leafly2021 已提交
1314
**返回值:**
C
chyyy0213 已提交
1315

Z
zhengjiangliang 已提交
1316 1317 1318
| 类型                             | 说明                                            |
| -------------------------------- | ----------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
C
chyyy0213 已提交
1319

L
leafly2021 已提交
1320
**示例:**
C
chyyy0213 已提交
1321

G
ge-yafang 已提交
1322
```js
Z
zhengjiangliang 已提交
1323 1324
let windowClass = null;
let promise = window.getTopWindow(this.context);
G
ge-yafang 已提交
1325
promise.then((data)=> {
Z
zhengjiangliang 已提交
1326 1327
 	windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
1328
}).catch((err)=>{
Z
zhengjiangliang 已提交
1329
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
1330
});
G
ge-yafang 已提交
1331
```
C
chyyy0213 已提交
1332

Z
zhengjiangliang 已提交
1333
## Window
L
leafly2021 已提交
1334

Z
zhengjiangliang 已提交
1335
当前窗口实例,窗口管理器管理的基本单元。
L
leafly2021 已提交
1336

Z
zhengjiangliang 已提交
1337 1338 1339 1340 1341 1342 1343
下列API示例中都需先使用[getLastWindow()](#windowgetlastwindow9)[createWindow()](#windowcreatewindow9)[findWindow()](#windowfindwindow9)中的任一方法获取到Window实例,再通过此实例调用对应方法。

### hide<sup>7+</sup>

hide (callback: AsyncCallback&lt;void&gt;): void

隐藏当前窗口,使用callback异步回调。
L
leafly2021 已提交
1344

1345
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1346 1347 1348 1349 1350 1351 1352 1353 1354

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |

Z
zhengjiangliang 已提交
1355 1356 1357 1358 1359 1360 1361 1362
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

L
leafly2021 已提交
1363 1364 1365
**示例:**

```js
Z
zhengjiangliang 已提交
1366
windowClass.hide((err) => {
L
leafly2021 已提交
1367
    if (err.code) {
Z
zhengjiangliang 已提交
1368
        console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
1369 1370
        return;
    }
L
leafly2021 已提交
1371
    console.info('Succeeded in hiding the window.');
Z
zhengjiangliang 已提交
1372
});
L
leafly2021 已提交
1373 1374
```

Z
zhengjiangliang 已提交
1375
### hide<sup>7+</sup>
L
leafly2021 已提交
1376

Z
zhengjiangliang 已提交
1377
hide(): Promise&lt;void&gt;
L
leafly2021 已提交
1378

Z
zhengjiangliang 已提交
1379
隐藏当前窗口,使用Promise异步回调。
L
leafly2021 已提交
1380

1381
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1382 1383 1384 1385 1386 1387 1388 1389 1390

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
1391 1392 1393 1394 1395 1396 1397 1398
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

L
leafly2021 已提交
1399 1400 1401
**示例:**

```js
Z
zhengjiangliang 已提交
1402 1403 1404
let promise = windowClass.hide();
promise.then(()=> {
    console.info('Succeeded in hiding the window.');
L
leafly2021 已提交
1405
}).catch((err)=>{
Z
zhengjiangliang 已提交
1406
    console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
1407
});
L
leafly2021 已提交
1408 1409
```

Z
zhengjiangliang 已提交
1410
### hideWithAnimation<sup>9+</sup>
Z
zengyawen 已提交
1411

Z
zhengjiangliang 已提交
1412
hideWithAnimation(callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
1413

Z
zhengjiangliang 已提交
1414
隐藏当前窗口,过程中播放动画,使用callback异步回调。
Z
zengyawen 已提交
1415

Z
zhengjiangliang 已提交
1416
**系统接口:** 此接口为系统接口。
1417

G
ge-yafang 已提交
1418
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1419

L
leafly2021 已提交
1420
**参数:**
C
chyyy0213 已提交
1421

G
ge-yafang 已提交
1422 1423 1424
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
1425

Z
zhengjiangliang 已提交
1426 1427 1428 1429 1430 1431 1432
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1433 1434
| 1300003 | This window manager service works abnormally. |
| 1300004 | Unauthorized operation.                |
Z
zhengjiangliang 已提交
1435

L
leafly2021 已提交
1436
**示例:**
C
chyyy0213 已提交
1437

G
ge-yafang 已提交
1438
```js
Z
zhengjiangliang 已提交
1439
windowClass.hideWithAnimation((err) => {
G
ge-yafang 已提交
1440
    if (err.code) {
Z
zhengjiangliang 已提交
1441
        console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1442 1443
        return;
    }
Z
zhengjiangliang 已提交
1444
    console.info('Succeeded in hiding the window with animation.');
Z
zhengjiangliang 已提交
1445
});
G
ge-yafang 已提交
1446
```
Z
zengyawen 已提交
1447

Z
zhengjiangliang 已提交
1448
### hideWithAnimation<sup>9+</sup>
C
chyyy0213 已提交
1449

Z
zhengjiangliang 已提交
1450
hideWithAnimation(): Promise&lt;void&gt;
C
chyyy0213 已提交
1451

Z
zhengjiangliang 已提交
1452
隐藏当前窗口,过程中播放动画,使用Promise异步回调。
C
chyyy0213 已提交
1453

Z
zhengjiangliang 已提交
1454
**系统接口:** 此接口为系统接口。
1455

G
ge-yafang 已提交
1456
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1457

L
leafly2021 已提交
1458
**返回值:**
C
chyyy0213 已提交
1459

G
ge-yafang 已提交
1460 1461 1462
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1463

Z
zhengjiangliang 已提交
1464 1465 1466 1467 1468 1469 1470
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1471 1472
| 1300003 | This window manager service works abnormally. |
| 1300004 | Unauthorized operation.                |
Z
zhengjiangliang 已提交
1473

L
leafly2021 已提交
1474
**示例:**
C
chyyy0213 已提交
1475

G
ge-yafang 已提交
1476
```js
Z
zhengjiangliang 已提交
1477 1478
let promise = windowClass.hideWithAnimation();
promise.then(()=> {
L
leafly2021 已提交
1479
    console.info('Succeeded in hiding the window with animation.');
G
ge-yafang 已提交
1480
}).catch((err)=>{
Z
zhengjiangliang 已提交
1481
    console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
1482
});
G
ge-yafang 已提交
1483
```
C
chyyy0213 已提交
1484

1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498
### showWindow<sup>9+</sup>

showWindow(callback: AsyncCallback&lt;void&gt;): void

显示当前窗口,使用callback异步回调。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | -- | --------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

Z
zhengjiangliang 已提交
1499 1500 1501 1502 1503 1504 1505 1506
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

1507 1508 1509
**示例:**

```js
Z
zhengjiangliang 已提交
1510
windowClass.showWindow((err) => {
1511 1512 1513 1514
    if (err.code) {
        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1515
    console.info('Succeeded in showing the window.');
1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532
});
```

### showWindow<sup>9+</sup>

showWindow(): Promise&lt;void&gt;

显示当前窗口,使用Promise异步回调。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型 | 说明 |
| ------------------- | ----------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
1533 1534 1535 1536 1537 1538 1539 1540
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

1541 1542 1543 1544
**示例:**

```js
let promise = windowClass.showWindow();
Z
zhengjiangliang 已提交
1545 1546
promise.then(()=> {
    console.info('Succeeded in showing the window.');
1547 1548 1549 1550 1551
}).catch((err)=>{
    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
});
```

L
leafly2021 已提交
1552 1553 1554 1555 1556 1557
### showWithAnimation<sup>9+</sup>

showWithAnimation(callback: AsyncCallback&lt;void&gt;): void

显示当前窗口,过程中播放动画,使用callback异步回调。

1558
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1559 1560 1561 1562 1563 1564 1565 1566 1567

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |

Z
zhengjiangliang 已提交
1568 1569 1570 1571 1572 1573 1574
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1575 1576
| 1300003 | This window manager service works abnormally. |
| 1300004 | Unauthorized operation.                |
Z
zhengjiangliang 已提交
1577

L
leafly2021 已提交
1578 1579 1580
**示例:**

```js
Z
zhengjiangliang 已提交
1581
windowClass.showWithAnimation((err) => {
L
leafly2021 已提交
1582 1583 1584 1585
    if (err.code) {
        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1586
    console.info('Succeeded in showing the window with animation.');
Z
zhengjiangliang 已提交
1587
});
L
leafly2021 已提交
1588 1589 1590 1591 1592 1593 1594 1595
```

### showWithAnimation<sup>9+</sup>

showWithAnimation(): Promise&lt;void&gt;

显示当前窗口,过程中播放动画,使用Promise异步回调。

1596
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1597 1598 1599 1600 1601 1602 1603 1604 1605

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
1606
**错误码:**
C
chyyy0213 已提交
1607

Z
zhengjiangliang 已提交
1608
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)
C
chyyy0213 已提交
1609

Z
zhengjiangliang 已提交
1610 1611 1612
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1613 1614
| 1300003 | This window manager service works abnormally. |
| 1300004 | Unauthorized operation.                |
C
chyyy0213 已提交
1615

L
leafly2021 已提交
1616
**示例:**
C
chyyy0213 已提交
1617

G
ge-yafang 已提交
1618
```js
Z
zhengjiangliang 已提交
1619 1620 1621
let promise = windowClass.showWithAnimation();
promise.then(()=> {
    console.info('Succeeded in showing the window with animation.');
G
ge-yafang 已提交
1622
}).catch((err)=>{
Z
zhengjiangliang 已提交
1623
    console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
1624
});
G
ge-yafang 已提交
1625
```
C
chyyy0213 已提交
1626

1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640
### destroyWindow<sup>9+</sup>

destroyWindow(callback: AsyncCallback&lt;void&gt;): void

销毁当前窗口,使用callback异步回调。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | -- | --------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

Z
zhengjiangliang 已提交
1641 1642 1643 1644 1645 1646 1647
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1648
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
1649

1650 1651 1652
**示例:**

```js
Z
zhengjiangliang 已提交
1653
windowClass.destroyWindow((err) => {
1654 1655 1656 1657
    if (err.code) {
        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1658
    console.info('Succeeded in destroying the window.');
Z
zhengjiangliang 已提交
1659
});
1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675
```

### destroyWindow<sup>9+</sup>

destroyWindow(): Promise&lt;void&gt;

销毁当前窗口,使用Promise异步回调。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
1676
**错误码:**
C
chyyy0213 已提交
1677

Z
zhengjiangliang 已提交
1678
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)
C
chyyy0213 已提交
1679

Z
zhengjiangliang 已提交
1680 1681 1682
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1683
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
1684

L
leafly2021 已提交
1685
**示例:**
C
chyyy0213 已提交
1686

G
ge-yafang 已提交
1687
```js
Z
zhengjiangliang 已提交
1688 1689 1690
let promise = windowClass.destroyWindow();
promise.then(()=> {
    console.info('Succeeded in destroying the window.');
G
ge-yafang 已提交
1691
}).catch((err)=>{
Z
zhengjiangliang 已提交
1692
    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
1693
});
G
ge-yafang 已提交
1694
```
C
chyyy0213 已提交
1695

1696 1697 1698 1699 1700 1701
### moveWindowTo<sup>9+</sup>

moveWindowTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void

移动窗口位置,使用callback异步回调。

1702 1703
全屏模式窗口不支持该操作。

1704 1705 1706 1707 1708 1709 1710 1711 1712 1713
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | -- | --------------------------------------------- |
| x        | number                    | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y        | number                    | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                     |

Z
zhengjiangliang 已提交
1714 1715 1716 1717 1718 1719 1720
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1721
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
1722

1723 1724 1725 1726
**示例:**

```js
try {
Z
zhengjiangliang 已提交
1727
    windowClass.moveWindowTo(300, 300, (err)=>{
1728 1729 1730 1731
        if (err.code) {
            console.error('Failed to move the window. Cause:' + JSON.stringify(err));
            return;
        }
Z
zhengjiangliang 已提交
1732
        console.info('Succeeded in moving the window.');
1733 1734 1735
    });
} catch (exception) {
    console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
1736
}
1737 1738 1739 1740 1741 1742 1743 1744
```

### moveWindowTo<sup>9+</sup>

moveWindowTo(x: number, y: number): Promise&lt;void&gt;

移动窗口位置,使用Promise异步回调。

1745 1746
全屏模式窗口不支持该操作。

1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -- | ----- | -- | --------------------------------------------- |
| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
1762 1763 1764 1765 1766 1767 1768
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1769
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
1770

1771 1772 1773 1774 1775
**示例:**

```js
try {
    let promise = windowClass.moveWindowTo(300, 300);
Z
zhengjiangliang 已提交
1776 1777
    promise.then(()=> {
        console.info('Succeeded in moving the window.');
1778 1779 1780 1781 1782
    }).catch((err)=>{
        console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
1783
}
1784 1785
```

Z
zhengjiangliang 已提交
1786
### resize<sup>9+</sup>
C
chyyy0213 已提交
1787

Z
zhengjiangliang 已提交
1788
resize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
1789 1790 1791

改变当前窗口大小,使用callback异步回调。

L
leafly2021 已提交
1792 1793 1794 1795 1796 1797
应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。

系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。

设置的宽度与高度受到此约束限制。

1798 1799
全屏模式窗口不支持该操作。

1800 1801 1802 1803 1804 1805 1806 1807 1808 1809
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | -- | ------------------------ |
| width    | number                    | 是 | 目标窗口的宽度,单位为px。 |
| height   | number                    | 是 | 目标窗口的高度,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。                |

Z
zhengjiangliang 已提交
1810 1811 1812 1813 1814 1815 1816
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1817
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
1818

1819 1820 1821 1822
**示例:**

```js
try {
Z
zhengjiangliang 已提交
1823
    windowClass.resize(500, 1000, (err) => {
1824 1825 1826 1827
        if (err.code) {
            console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
            return;
        }
Z
zhengjiangliang 已提交
1828
        console.info('Succeeded in changing the window size.');
1829 1830 1831
    });
} catch (exception) {
    console.error('Failed to change the window size. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
1832
}
1833 1834 1835 1836 1837 1838 1839 1840
```

### resize<sup>9+</sup>

resize(width: number, height: number): Promise&lt;void&gt;

改变当前窗口大小,使用Promise异步回调。

L
leafly2021 已提交
1841 1842 1843 1844 1845 1846
应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。

系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。

设置的宽度与高度受到此约束限制。

1847 1848
全屏模式窗口不支持该操作。

1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | -- | ------------------------ |
| width  | number | 是 | 目标窗口的宽度,单位为px。 |
| height | number | 是 | 目标窗口的高度,单位为px。 |

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
1864 1865 1866 1867 1868 1869 1870
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1871
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
1872

1873 1874 1875 1876 1877
**示例:**

```js
try {
    let promise = windowClass.resize(500, 1000);
Z
zhengjiangliang 已提交
1878 1879
    promise.then(()=> {
        console.info('Succeeded in changing the window size.');
1880 1881 1882 1883 1884
    }).catch((err)=>{
        console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to change the window size. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
1885
}
1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901
```

### setWindowMode<sup>9+</sup>

setWindowMode(mode: WindowMode, callback: AsyncCallback&lt;void&gt;): void

设置窗口模式,使用callback异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------- | -- | --------- |
Z
zhengjiangliang 已提交
1902
| mode     | [WindowMode](#windowmode7) | 是 | 窗口模式。 |
1903 1904
| callback | AsyncCallback&lt;void&gt;  | 是 | 回调函数。 |

Z
zhengjiangliang 已提交
1905 1906 1907 1908 1909 1910 1911
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1912
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
1913

1914 1915 1916 1917 1918
**示例:**

```js
let mode = window.WindowMode.FULLSCREEN;
try {
Z
zhengjiangliang 已提交
1919
    windowClass.setWindowMode(mode, (err) => {
1920 1921 1922 1923
    if (err.code) {
        console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1924
    console.info('Succeeded in setting the window mode.');
1925 1926 1927
    });
} catch (exception) {
    console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
1928
}
1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944
```

### setWindowMode<sup>9+</sup>

setWindowMode(mode: WindowMode): Promise&lt;void&gt;

设置窗口类型,使用Promise异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------- | -- | --------- |
Z
zhengjiangliang 已提交
1945
| mode     | [WindowMode](#windowmode7) | 是 | 窗口模式。 |
1946 1947 1948 1949 1950 1951 1952

**返回值:**

| 类型 | 说明 |
| ------------------- | ----------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
1953 1954 1955 1956 1957 1958 1959
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
1960
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
1961

1962 1963 1964 1965 1966
**示例:**

```js
let mode = window.WindowMode.FULLSCREEN;
try {
Z
zhengjiangliang 已提交
1967
    let promise = windowClass.setWindowMode(mode);
Z
zhengjiangliang 已提交
1968 1969
    promise.then(()=> {
        console.info('Succeeded in setting the window mode.');
1970 1971 1972 1973 1974
    }).catch((err)=>{
        console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
1975
}
1976 1977
```

Z
zhengjiangliang 已提交
1978
### getWindowProperties<sup>9+</sup>
Z
zengyawen 已提交
1979

Z
zhengjiangliang 已提交
1980
getWindowProperties(): WindowProperties
Z
zengyawen 已提交
1981

Z
zhengjiangliang 已提交
1982
获取当前窗口的属性,返回WindowProperties。
1983

G
ge-yafang 已提交
1984
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1985

Z
zhengjiangliang 已提交
1986
**返回值:**
C
chyyy0213 已提交
1987

Z
zhengjiangliang 已提交
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998
| 类型 | 说明 |
| ------------------------------------- | ------------- |
| [WindowProperties](#windowproperties) | 当前窗口属性。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
Z
zengyawen 已提交
1999

L
leafly2021 已提交
2000
**示例:**
C
chyyy0213 已提交
2001

G
ge-yafang 已提交
2002
```js
Z
zhengjiangliang 已提交
2003 2004 2005 2006
try {
    let properties = windowClass.getWindowProperties();
} catch (exception) {
    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2007
}
G
ge-yafang 已提交
2008
```
Z
zengyawen 已提交
2009

Z
zhengjiangliang 已提交
2010
### getWindowAvoidArea<sup>9+</sup>
C
chyyy0213 已提交
2011

Z
zhengjiangliang 已提交
2012
getWindowAvoidArea(type: AvoidAreaType): AvoidArea
C
chyyy0213 已提交
2013

L
leafly2021 已提交
2014
获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
2015

G
ge-yafang 已提交
2016
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2017

Z
zhengjiangliang 已提交
2018 2019 2020 2021
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| ---- |----------------------------------| -- | ------------------------------------------------------------ |
G
ge-yafang 已提交
2022
| type | [AvoidAreaType](#avoidareatype7) | 是 | 表示规避区类型。 |
Z
zhengjiangliang 已提交
2023

L
leafly2021 已提交
2024
**返回值:**
C
chyyy0213 已提交
2025

Z
zhengjiangliang 已提交
2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036
| 类型 | 说明 |
|--------------------------| ----------------- |
| [AvoidArea](#avoidarea7) | 窗口内容规避区域。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
C
chyyy0213 已提交
2037

L
leafly2021 已提交
2038
**示例:**
C
chyyy0213 已提交
2039

G
ge-yafang 已提交
2040
```js
Z
zhengjiangliang 已提交
2041 2042 2043 2044 2045
let type = window.AvoidAreaType.TYPE_SYSTEM;
try {
    let avoidArea = windowClass.getWindowAvoidArea(type);
} catch (exception) {
    console.error('Failed to obtain the area. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2046
}
G
ge-yafang 已提交
2047
```
C
chyyy0213 已提交
2048

Z
zhengjiangliang 已提交
2049
### setWindowLayoutFullScreen<sup>9+</sup>
2050

Z
zhengjiangliang 已提交
2051
setWindowLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
2052

Z
z00514981 已提交
2053 2054 2055
设置窗口的布局是否为沉浸式布局,使用callback异步回调。
沉浸式布局是指布局不避让状态栏与导航栏,组件可能产生与其重叠的情况。
非沉浸式布局是指布局避让状态栏与导航栏,组件不会与其重叠。
2056 2057 2058

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
2059
**参数:**
2060

Z
zhengjiangliang 已提交
2061 2062
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | ------------------------- | -- | --------- |
Z
z00514981 已提交
2063
| isLayoutFullScreen | boolean                   | 是 | 窗口的布局是否为沉浸式布局(该沉浸式布局状态栏、导航栏仍然显示)。true表示沉浸式布局;false表示非沉浸式布局。 |
Z
zhengjiangliang 已提交
2064 2065 2066 2067 2068 2069 2070 2071 2072
| callback           | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2073
| 1300003 | This window manager service works abnormally. |
2074 2075 2076 2077

**示例:**

```js
Z
zhengjiangliang 已提交
2078
let isLayoutFullScreen= true;
2079
try {
Z
zhengjiangliang 已提交
2080 2081 2082 2083 2084 2085 2086
    windowClass.setWindowLayoutFullScreen(isLayoutFullScreen, (err) => {
        if (err.code) {
            console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the window layout to full-screen mode.');
    });
2087
} catch (exception) {
Z
zhengjiangliang 已提交
2088
    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2089
}
2090 2091
```

Z
zhengjiangliang 已提交
2092
### setWindowLayoutFullScreen<sup>9+</sup>
Z
zengyawen 已提交
2093

Z
zhengjiangliang 已提交
2094
setWindowLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
C
chyyy0213 已提交
2095

Z
z00514981 已提交
2096 2097 2098
设置窗口的布局是否为沉浸式布局,使用Promise异步回调。
沉浸式布局是指布局不避让状态栏与导航栏,组件可能产生与其重叠的情况。
非沉浸式布局是指布局避让状态栏与导航栏,组件不会与其重叠。
2099

G
ge-yafang 已提交
2100
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
2101

L
leafly2021 已提交
2102
**参数:**
C
chyyy0213 已提交
2103

Z
zhengjiangliang 已提交
2104 2105
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | ------- | -- | ------------------------------------------------------------------------------------------------ |
Z
z00514981 已提交
2106
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为沉浸式布局(该沉浸式布局状态栏、导航栏仍然显示)。true表示沉浸式布局;false表示非沉浸式布局。 |
Z
zengyawen 已提交
2107

Z
zhengjiangliang 已提交
2108
**返回值:**
C
chyyy0213 已提交
2109

Z
zhengjiangliang 已提交
2110 2111 2112
| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
2113

Z
zhengjiangliang 已提交
2114
**错误码:**
C
chyyy0213 已提交
2115

Z
zhengjiangliang 已提交
2116
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)
C
chyyy0213 已提交
2117

Z
zhengjiangliang 已提交
2118 2119 2120
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2121
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
2122

Z
zhengjiangliang 已提交
2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135
**示例:**

```js
let isLayoutFullScreen = true;
try {
    let promise = windowClass.setWindowLayoutFullScreen(isLayoutFullScreen);
    promise.then(()=> {
        console.info('Succeeded in setting the window layout to full-screen mode.');
    }).catch((err)=>{
        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2136
}
Z
zhengjiangliang 已提交
2137 2138 2139 2140 2141 2142 2143
```

### setWindowSystemBarEnable<sup>9+</sup>

setWindowSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void

设置导航栏、状态栏的可见模式,使用callback异步回调。
2144

G
ge-yafang 已提交
2145
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2146

L
leafly2021 已提交
2147
**参数:**
C
chyyy0213 已提交
2148

Z
zhengjiangliang 已提交
2149
| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
2150
| -------- | ---------------------------- | -- | --------- |
2151
| names    | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
Z
zhengjiangliang 已提交
2152
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
C
chyyy0213 已提交
2153

Z
zhengjiangliang 已提交
2154
**错误码:**
C
chyyy0213 已提交
2155

Z
zhengjiangliang 已提交
2156 2157 2158 2159 2160
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2161
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
2162

L
leafly2021 已提交
2163
**示例:**
C
chyyy0213 已提交
2164

G
ge-yafang 已提交
2165
```js
Z
zhengjiangliang 已提交
2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177
// 此处以不显示导航栏、状态栏为例
let names = [];
try {
    windowClass.setWindowSystemBarEnable(names, (err) => {
        if (err.code) {
            console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the system bar to be invisible.');
    });
} catch (exception) {
    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2178
}
G
ge-yafang 已提交
2179
```
C
chyyy0213 已提交
2180

Z
zhengjiangliang 已提交
2181
### setWindowSystemBarEnable<sup>9+</sup>
2182

Z
zhengjiangliang 已提交
2183
setWindowSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
2184

Z
zhengjiangliang 已提交
2185
设置导航栏、状态栏的可见模式,使用Promise异步回调。
2186 2187 2188 2189 2190

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
2191
| 参数名 | 类型  | 必填 | 说明 |
Z
zhengjiangliang 已提交
2192
| ----- | ---------------------------- | -- | --------------------------------- |
2193
| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
2194 2195 2196 2197

**返回值:**

| 类型 | 说明 |
Z
zhengjiangliang 已提交
2198 2199 2200 2201 2202 2203 2204 2205 2206 2207
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2208
| 1300003 | This window manager service works abnormally. |
2209 2210 2211 2212

**示例:**

```js
Z
zhengjiangliang 已提交
2213 2214
// 此处以不显示导航栏、状态栏为例
let names = [];
2215
try {
Z
zhengjiangliang 已提交
2216 2217 2218 2219 2220 2221
    let promise = windowClass.setWindowSystemBarEnable(names);
    promise.then(()=> {
        console.info('Succeeded in setting the system bar to be invisible.');
    }).catch((err)=>{
        console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
    });
2222
} catch (exception) {
Z
zhengjiangliang 已提交
2223
    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2224
}
2225 2226
```

Z
zhengjiangliang 已提交
2227
### setWindowSystemBarProperties<sup>9+</sup>
Z
zengyawen 已提交
2228

Z
zhengjiangliang 已提交
2229
setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
2230

Z
zhengjiangliang 已提交
2231
设置窗口内导航栏、状态栏的属性,使用callback异步回调。
2232

G
ge-yafang 已提交
2233
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
2234

L
leafly2021 已提交
2235
**参数:**
C
chyyy0213 已提交
2236

Z
zhengjiangliang 已提交
2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2249
| 1300003 | This window manager service works abnormally. |
Z
zengyawen 已提交
2250

L
leafly2021 已提交
2251
**示例:**
C
chyyy0213 已提交
2252

G
ge-yafang 已提交
2253
```js
Z
zhengjiangliang 已提交
2254
let SystemBarProperties = {
Z
zhengjiangliang 已提交
2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
try {
    windowClass.setWindowSystemBarProperties(SystemBarProperties, (err) => {
        if (err.code) {
            console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the system bar properties.');
    });
} catch (exception) {
    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2271
}
G
ge-yafang 已提交
2272
```
C
chyyy0213 已提交
2273

Z
zhengjiangliang 已提交
2274
### setWindowSystemBarProperties<sup>9+</sup>
C
chyyy0213 已提交
2275

Z
zhengjiangliang 已提交
2276
setWindowSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;
C
chyyy0213 已提交
2277

Z
zhengjiangliang 已提交
2278
设置窗口内导航栏、状态栏的属性,使用Promise异步回调。
2279

G
ge-yafang 已提交
2280
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2281

L
leafly2021 已提交
2282
**参数:**
C
chyyy0213 已提交
2283

Z
zhengjiangliang 已提交
2284 2285 2286
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
C
chyyy0213 已提交
2287

L
leafly2021 已提交
2288
**返回值:**
C
chyyy0213 已提交
2289

G
ge-yafang 已提交
2290 2291 2292
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2293

Z
zhengjiangliang 已提交
2294 2295 2296 2297 2298 2299 2300
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2301
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
2302

L
leafly2021 已提交
2303
**示例:**
C
chyyy0213 已提交
2304

G
ge-yafang 已提交
2305
```js
Z
zhengjiangliang 已提交
2306
let SystemBarProperties = {
Z
zhengjiangliang 已提交
2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
try {
    let promise = windowClass.setWindowSystemBarProperties(SystemBarProperties);
    promise.then(()=> {
        console.info('Succeeded in setting the system bar properties.');
    }).catch((err)=>{
        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2322
}
G
ge-yafang 已提交
2323
```
Z
zengyawen 已提交
2324

Z
zhengjiangliang 已提交
2325
### setPreferredOrientation<sup>9+</sup>
Z
zengyawen 已提交
2326

Z
zhengjiangliang 已提交
2327
setPreferredOrientation(orientation: Orientation, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
2328

Z
zhengjiangliang 已提交
2329
设置窗口的显示方向属性,使用callback异步回调。
2330

G
ge-yafang 已提交
2331
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
2332

L
leafly2021 已提交
2333
**参数:**
C
chyyy0213 已提交
2334

Z
zhengjiangliang 已提交
2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| Orientation         | [Orientation](#orientation9)                | 是   | 窗口显示方向的属性。         |
| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
Z
zengyawen 已提交
2347

L
leafly2021 已提交
2348
**示例:**
C
chyyy0213 已提交
2349

G
ge-yafang 已提交
2350
```js
Z
zhengjiangliang 已提交
2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361
let orientation = window.Orientation.AUTO_ROTATION;
try {
    windowClass.setPreferredOrientation(orientation, (err) => {
        if (err.code) {
            console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting window orientation.');
    });
} catch (exception) {
    console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2362
}
G
ge-yafang 已提交
2363
```
C
chyyy0213 已提交
2364

Z
zhengjiangliang 已提交
2365
### setPreferredOrientation<sup>9+</sup>
C
chyyy0213 已提交
2366

Z
zhengjiangliang 已提交
2367
setPreferredOrientation(orientation: Orientation): Promise&lt;void&gt;
C
chyyy0213 已提交
2368

Z
zhengjiangliang 已提交
2369
设置窗口的显示方向属性,使用Promise异步回调。
2370

G
ge-yafang 已提交
2371
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2372

L
leafly2021 已提交
2373
**参数:**
C
chyyy0213 已提交
2374

Z
zhengjiangliang 已提交
2375 2376 2377
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| Orientation         | [Orientation](#orientation9)                | 是   | 窗口显示方向的属性。       |
C
chyyy0213 已提交
2378

L
leafly2021 已提交
2379
**返回值:**
C
chyyy0213 已提交
2380

G
ge-yafang 已提交
2381 2382 2383
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2384

Z
zhengjiangliang 已提交
2385 2386 2387 2388 2389 2390 2391 2392
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

L
leafly2021 已提交
2393
**示例:**
C
chyyy0213 已提交
2394

G
ge-yafang 已提交
2395
```js
Z
zhengjiangliang 已提交
2396 2397 2398 2399 2400 2401 2402 2403 2404 2405
let orientation = window.Orientation.AUTO_ROTATION;
try {
    let promise = windowClass.setPreferredOrientation(orientation);
    promise.then(()=> {
        console.info('Succeeded in setting the window orientation.');
    }).catch((err)=>{
        console.error('Failed to set the window orientation. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2406
}
G
ge-yafang 已提交
2407
```
Z
zengyawen 已提交
2408

Z
zhengjiangliang 已提交
2409
### setUIContent<sup>9+</sup>
2410

Z
zhengjiangliang 已提交
2411
setUIContent(path: string, callback: AsyncCallback&lt;void&gt;): void
2412

Z
zhengjiangliang 已提交
2413
为当前窗口加载具体页面内容,使用callback异步回调。
2414 2415 2416 2417 2418 2419

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430
| -------- | ------------------------- | -- | -------------------- |
| path     | string                    | 是 | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。          |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2431
| 1300003 | This window manager service works abnormally. |
2432 2433 2434 2435 2436

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2437 2438 2439
    windowClass.setUIContent('pages/page2/page2', (err) => {
    if (err.code) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2440
            return;
Z
zhengjiangliang 已提交
2441 2442
    }
    console.info('Succeeded in loading the content.');
2443 2444
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2445
    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2446
}
2447 2448
```

Z
zhengjiangliang 已提交
2449
### setUIContent<sup>9+</sup>
2450

Z
zhengjiangliang 已提交
2451
setUIContent(path: string): Promise&lt;void&gt;
2452

Z
zhengjiangliang 已提交
2453
为当前窗口加载具体页面内容,使用Promise异步回调。
2454 2455 2456 2457 2458 2459

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
2460 2461 2462
| ---- | ------ | -- | ------------------ |
| path | string | 是 | 设置加载页面的路径。 |

2463 2464 2465 2466 2467 2468
**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
2469 2470 2471 2472 2473 2474 2475
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2476
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
2477

2478 2479 2480 2481
**示例:**

```js
try {
Z
zhengjiangliang 已提交
2482 2483 2484
    let promise = windowClass.setUIContent('pages/page2/page2');
    promise.then(()=> {
        console.info('Succeeded in loading the content.');
2485
    }).catch((err)=>{
Z
zhengjiangliang 已提交
2486
        console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
2487 2488
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2489
    console.error('Failed to load the content. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2490
}
2491 2492
```

Z
zhengjiangliang 已提交
2493
### loadContent<sup>9+</sup>
Z
zengyawen 已提交
2494

Z
zhengjiangliang 已提交
2495
loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
2496

Z
zhengjiangliang 已提交
2497
为当前窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。
Z
zengyawen 已提交
2498

Z
zhengjiangliang 已提交
2499
**模型约束:** 此接口仅可在Stage模型下使用。
2500

G
ge-yafang 已提交
2501
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2502

L
leafly2021 已提交
2503
**参数:**
C
chyyy0213 已提交
2504

Z
zhengjiangliang 已提交
2505 2506 2507
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path     | string                                          | 是   | 设置加载页面的路径。                                         |
Z
zhangkai 已提交
2508
| storage  | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
Z
zhengjiangliang 已提交
2509 2510 2511 2512 2513 2514 2515 2516 2517
| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2518
| 1300003 | This window manager service works abnormally. |
Z
zengyawen 已提交
2519

L
leafly2021 已提交
2520
**示例:**
C
chyyy0213 已提交
2521

Z
zhengjiangliang 已提交
2522
```ts
2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535
let storage = new LocalStorage();
storage.setOrCreate('storageSimpleProp',121);
console.log('onWindowStageCreate');
try {
    windowClass.loadContent('pages/page2', storage, (err) => {
        if (err.code) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in loading the content.');
    });
} catch (exception) {
    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2536
}
G
ge-yafang 已提交
2537
```
C
chyyy0213 已提交
2538

Z
zhengjiangliang 已提交
2539
### loadContent<sup>9+</sup>
C
chyyy0213 已提交
2540

Z
zhengjiangliang 已提交
2541
loadContent(path: string, storage: LocalStorage): Promise&lt;void&gt;
C
chyyy0213 已提交
2542

Z
zhengjiangliang 已提交
2543
为当前窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。
C
chyyy0213 已提交
2544

Z
zhengjiangliang 已提交
2545
**模型约束:** 此接口仅可在Stage模型下使用。
2546

G
ge-yafang 已提交
2547
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2548

L
leafly2021 已提交
2549
**参数:**
C
chyyy0213 已提交
2550

Z
zhengjiangliang 已提交
2551 2552 2553
| 参数名  | 类型                                            | 必填 | 说明                                                         |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path    | string                                          | 是   | 设置加载页面的路径。                                         |
Z
zhangkai 已提交
2554
| storage | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
C
chyyy0213 已提交
2555

L
leafly2021 已提交
2556
**返回值:**
C
chyyy0213 已提交
2557

G
ge-yafang 已提交
2558 2559 2560
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2561

Z
zhengjiangliang 已提交
2562 2563 2564 2565 2566 2567 2568
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
2569
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
2570

L
leafly2021 已提交
2571
**示例:**
C
chyyy0213 已提交
2572

Z
zhengjiangliang 已提交
2573
```ts
2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585
let storage = new LocalStorage();
storage.setOrCreate('storageSimpleProp',121);
console.log('onWindowStageCreate');
try {
    let promise = windowClass.loadContent('pages/page2', storage);
    promise.then(() => {
        console.info('Succeeded in loading the content.');
    }).catch((err) => {
        console.error('Failed to load the content. Cause:' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2586
}
G
ge-yafang 已提交
2587
```
Z
zengyawen 已提交
2588

Z
zhengjiangliang 已提交
2589
### isWindowShowing<sup>9+</sup>
Z
zengyawen 已提交
2590

Z
zhengjiangliang 已提交
2591
isWindowShowing(): boolean
Z
zengyawen 已提交
2592

Z
zhengjiangliang 已提交
2593
判断当前窗口是否已显示。
C
chyyy0213 已提交
2594

G
ge-yafang 已提交
2595
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
2596

Z
zhengjiangliang 已提交
2597
**返回值:**
C
chyyy0213 已提交
2598

Z
zhengjiangliang 已提交
2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609
| 类型 | 说明 |
| ------- | ------------------------------------------------------------------ |
| boolean | 当前窗口是否已显示。true表示当前窗口已显示,false则表示当前窗口未显示。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
Z
zengyawen 已提交
2610

L
leafly2021 已提交
2611
**示例:**
C
chyyy0213 已提交
2612

G
ge-yafang 已提交
2613
```js
2614
try {
Z
zhengjiangliang 已提交
2615 2616
    let data = windowClass.isWindowShowing();
    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
2617
} catch (exception) {
Z
zhengjiangliang 已提交
2618
    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2619
}
G
ge-yafang 已提交
2620
```
C
chyyy0213 已提交
2621

Z
zhengjiangliang 已提交
2622
### on('windowSizeChange')<sup>7+</sup>
C
chyyy0213 已提交
2623

Z
zhengjiangliang 已提交
2624
on(type:  'windowSizeChange', callback: Callback&lt;Size&gt;): void
C
chyyy0213 已提交
2625

Z
zhengjiangliang 已提交
2626
开启窗口尺寸变化的监听。
C
chyyy0213 已提交
2627

G
ge-yafang 已提交
2628
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2629

L
leafly2021 已提交
2630
**参数:**
C
chyyy0213 已提交
2631

Z
zhengjiangliang 已提交
2632 2633 2634 2635
| 参数名   | 类型                           | 必填 | 说明                                                     |
| -------- | ------------------------------ | ---- | -------------------------------------------------------- |
| type     | string                         | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
| callback | Callback&lt;[Size](#size7)&gt; | 是   | 回调函数。返回当前的窗口尺寸。                           |
2636 2637 2638 2639 2640

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2641 2642
    windowClass.on('windowSizeChange', (data) => {
        console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
2643 2644
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2645
    console.error('Failed to enable the listener for window size changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2646
}
2647 2648
```

Z
zhengjiangliang 已提交
2649
### off('windowSizeChange')<sup>7+</sup>
2650

Z
zhengjiangliang 已提交
2651
off(type: 'windowSizeChange', callback?: Callback&lt;Size&gt;): void
2652

Z
zhengjiangliang 已提交
2653
关闭窗口尺寸变化的监听。
2654 2655 2656 2657 2658

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
2659 2660 2661
| 参数名   | 类型                          | 必填 | 说明                                                     |
| -------- | ----------------------------- | ---- | -------------------------------------------------------- |
| type     | string                        | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
G
ge-yafang 已提交
2662
| callback | Callback&lt;[Size](#size7)&gt; | 否   | 回调函数。返回当前的窗口尺寸。                           |
2663 2664 2665 2666

**示例:**

```js
Z
zhengjiangliang 已提交
2667 2668 2669 2670
try {
    windowClass.off('windowSizeChange');
} catch (exception) {
    console.error('Failed to disable the listener for window size changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2671
}
2672 2673
```

Z
zhengjiangliang 已提交
2674
### on('avoidAreaChange')<sup>9+</sup>
2675

Z
zhengjiangliang 已提交
2676
on(type: 'avoidAreaChange', callback: Callback&lt;{AvoidAreaType, AvoidArea}&gt;): void
2677

Z
zhengjiangliang 已提交
2678
开启系统规避区变化的监听。
2679 2680 2681 2682 2683

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
2684 2685 2686 2687
| 参数名   | 类型                                                               | 必填 | 说明                                   |
| -------- |------------------------------------------------------------------| ---- |--------------------------------------|
| type     | string                                                           | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt; | 是   | 回调函数。返回当前规避区以及规避区类型。|
G
ge-yafang 已提交
2688

L
leafly2021 已提交
2689
**示例:**
G
ge-yafang 已提交
2690 2691

```js
Z
zhengjiangliang 已提交
2692 2693 2694 2695 2696 2697 2698
try {
    windowClass.on('avoidAreaChange', (data) => {
        console.info('Succeeded in enabling the listener for system avoid area changes. type:' +
            JSON.stringify(data.type) + ', area: ' + JSON.stringify(data.area));
    });
} catch (exception) {
    console.error('Failed to enable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2699
}
G
ge-yafang 已提交
2700
```
Z
zengyawen 已提交
2701

Z
zhengjiangliang 已提交
2702
### off('avoidAreaChange')<sup>9+</sup>
2703

2704
off(type: 'avoidAreaChange', callback?: Callback&lt;{AvoidAreaType, AvoidArea}&gt;): void
2705

Z
zhengjiangliang 已提交
2706
关闭系统规避区变化的监听。
2707 2708 2709 2710 2711

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
2712 2713 2714 2715
| 参数名   | 类型                                                                          | 必填  | 说明                                 |
| -------- |-----------------------------------------------------------------------------|-----|------------------------------------|
| type     | string                                                                      | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt; | 否   | 回调函数。返回当前规避区以及规避区类型。|
2716 2717 2718 2719 2720

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2721
    windowClass.off('avoidAreaChange');
2722
} catch (exception) {
Z
zhengjiangliang 已提交
2723
    console.error('Failed to disable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2724
}
2725 2726
```

Z
zhengjiangliang 已提交
2727
### on('keyboardHeightChange')<sup>7+</sup>
2728

Z
zhengjiangliang 已提交
2729
on(type: 'keyboardHeightChange', callback: Callback&lt;number&gt;): void
2730

Z
zhengjiangliang 已提交
2731
开启键盘高度变化的监听。
2732 2733 2734 2735 2736

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
2737 2738 2739 2740
| 参数名   | 类型                | 必填 | 说明                                                         |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
| callback | Callback&lt;number&gt; | 是   | 回调函数。返回当前的键盘高度。                               |
2741 2742 2743 2744 2745

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2746 2747
    windowClass.on('keyboardHeightChange', (data) => {
        console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
2748 2749
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2750
    console.error('Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2751
}
2752 2753
```

Z
zhengjiangliang 已提交
2754
### off('keyboardHeightChange')<sup>7+</sup>
X
xpeng 已提交
2755

Z
zhengjiangliang 已提交
2756
off(type: 'keyboardHeightChange', callback?: Callback&lt;number&gt;): void
X
xpeng 已提交
2757

Z
zhengjiangliang 已提交
2758
关闭键盘高度变化的监听。
X
xpeng 已提交
2759 2760 2761

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
2762
**参数:**
X
xpeng 已提交
2763

Z
zhengjiangliang 已提交
2764 2765 2766 2767
| 参数名   | 类型                   | 必填 | 说明                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
| callback | Callback&lt;number&gt; | 否   | 回调函数。返回当前的键盘高度。                               |
X
xpeng 已提交
2768

L
leafly2021 已提交
2769
**示例:**
X
xpeng 已提交
2770 2771

```js
2772
try {
Z
zhengjiangliang 已提交
2773
    windowClass.off('keyboardHeightChange');
2774
} catch (exception) {
Z
zhengjiangliang 已提交
2775
    console.error('Failed to disable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2776
}
X
xpeng 已提交
2777 2778
```

Z
zhengjiangliang 已提交
2779
### on('touchOutside')<sup>9+</sup>
X
xpeng 已提交
2780

Z
zhengjiangliang 已提交
2781
on(type: 'touchOutside', callback: Callback&lt;void&gt;): void
X
xpeng 已提交
2782

Z
zhengjiangliang 已提交
2783 2784 2785
开启本窗口区域范围外的点击事件的监听。

**系统接口:** 此接口为系统接口。
X
xpeng 已提交
2786

X
xpeng 已提交
2787 2788
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
2789
**参数:**
X
xpeng 已提交
2790

Z
zhengjiangliang 已提交
2791 2792 2793 2794
| 参数名   | 类型                | 必填 | 说明                                                         |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
| callback | Callback&lt;void&gt; | 是   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |
X
xpeng 已提交
2795

L
leafly2021 已提交
2796
**示例:**
X
xpeng 已提交
2797 2798

```js
2799
try {
Z
zhengjiangliang 已提交
2800 2801
    windowClass.on('touchOutside', () => {
        console.info('touch outside');
2802 2803
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2804
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2805
}
X
xpeng 已提交
2806 2807
```

Z
zhengjiangliang 已提交
2808
### off('touchOutside')<sup>9+</sup>
Z
zengyawen 已提交
2809

Z
zhengjiangliang 已提交
2810
off(type: 'touchOutside', callback?: Callback&lt;void&gt;): void
Z
zengyawen 已提交
2811

Z
zhengjiangliang 已提交
2812
关闭本窗口区域范围外的点击事件的监听。
Z
zengyawen 已提交
2813

Z
zhengjiangliang 已提交
2814
**系统接口:** 此接口为系统接口。
2815

G
ge-yafang 已提交
2816
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
2817

L
leafly2021 已提交
2818
**参数:**
Z
zengyawen 已提交
2819

Z
zhengjiangliang 已提交
2820 2821 2822 2823
| 参数名   | 类型                   | 必填 | 说明                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
| callback | Callback&lt;number&gt; | 否   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |
G
ge-yafang 已提交
2824

L
leafly2021 已提交
2825
**示例:**
Z
zengyawen 已提交
2826

G
ge-yafang 已提交
2827
```js
Z
zhengjiangliang 已提交
2828 2829 2830 2831
try {
    windowClass.off('touchOutside');
} catch (exception) {
    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2832
}
G
ge-yafang 已提交
2833
```
C
chyyy0213 已提交
2834

Z
zhengjiangliang 已提交
2835
### on('screenshot')<sup>9+</sup>
C
chyyy0213 已提交
2836

Z
zhengjiangliang 已提交
2837
on(type: 'screenshot', callback: Callback&lt;void&gt;): void
C
chyyy0213 已提交
2838

Z
zhengjiangliang 已提交
2839
开启截屏事件的监听。
2840

G
ge-yafang 已提交
2841
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2842

L
leafly2021 已提交
2843
**参数:**
C
chyyy0213 已提交
2844

Z
zhengjiangliang 已提交
2845 2846 2847 2848
| 参数名   | 类型                | 必填 | 说明                                                         |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'screenshot',即截屏事件。 |
| callback | Callback&lt;void&gt; | 是   | 回调函数。发生截屏事件时的回调。                               |
G
ge-yafang 已提交
2849

Z
zhengjiangliang 已提交
2850
**示例:**
C
chyyy0213 已提交
2851

Z
zhengjiangliang 已提交
2852 2853 2854 2855 2856 2857 2858
```js
try {
    windowClass.on('screenshot', () => {
        console.info('screenshot happened');
    });
} catch (exception) {
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2859
}
Z
zhengjiangliang 已提交
2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875
```

### off('screenshot')<sup>9+</sup>

off(type: 'screenshot', callback?: Callback&lt;void&gt;): void

关闭截屏事件的监听。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                   | 必填 | 说明                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'screenshot',即截屏事件。 |
| callback | Callback&lt;void&gt; | 否   | 回调函数。发生截屏事件时的回调。 |
C
chyyy0213 已提交
2876

L
leafly2021 已提交
2877
**示例:**
C
chyyy0213 已提交
2878

G
ge-yafang 已提交
2879
```js
Z
zhengjiangliang 已提交
2880
let callback = () => {
Z
zhengjiangliang 已提交
2881
    console.info('screenshot happened');
2882
};
Z
zhengjiangliang 已提交
2883 2884 2885 2886
try {
    windowClass.on('screenshot', callback);
} catch (exception) {
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2887
}
Z
zhengjiangliang 已提交
2888 2889 2890 2891 2892 2893
try {
    windowClass.off('screenshot', callback);
    // 如果通过on开启多个callback进行监听,同时关闭所有监听:
    windowClass.off('screenshot');
} catch (exception) {
    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2894
}
G
ge-yafang 已提交
2895
```
2896

Z
z00514981 已提交
2897
### on('dialogTargetTouch')<sup>10+</sup>
2898

Z
zhengjiangliang 已提交
2899
on(type: 'dialogTargetTouch', callback: Callback&lt;void&gt;): void
2900

Z
zhengjiangliang 已提交
2901
开启模态窗口目标窗口的点击事件的监听。
2902 2903 2904 2905 2906

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
2907 2908 2909 2910
| 参数名   | 类型                 | 必填 | 说明                                                          |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'dialogTargetTouch',即模态窗口目标窗口的点击事件。 |
| callback | Callback&lt;void&gt;| 是   | 回调函数。当点击事件发生在模态窗口目标窗口的回调。 |
2911 2912 2913 2914 2915

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2916 2917
    windowClass.on('dialogTargetTouch', () => {
        console.info('touch dialog target');
2918 2919
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2920
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
2921
}
2922 2923
```

Z
z00514981 已提交
2924
### off('dialogTargetTouch')<sup>10+</sup>
2925

Z
zhengjiangliang 已提交
2926
off(type: 'dialogTargetTouch', callback?: Callback&lt;void&gt;): void
2927

Z
zhengjiangliang 已提交
2928
关闭模态窗口目标窗口的点击事件的监听。
2929 2930 2931 2932 2933

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
2934 2935 2936 2937
| 参数名   | 类型                    | 必填 | 说明                                                          |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'dialogTargetTouch',即模态窗口目标窗口的点击事件。 |
| callback | Callback&lt;void&gt;      | 否   | 回调函数。当点击事件发生在模态窗口目标窗口的回调。 |
2938 2939 2940 2941 2942

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2943
    windowClass.off('dialogTargetTouch');
2944
} catch (exception) {
Z
zhengjiangliang 已提交
2945
    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001
}
```

### on('windowEvent')<sup>10+</sup>

on(type: 'windowEvent', callback: Callback&lt;WindowEventType&gt;): void

开启窗口生命周期变化的监听。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                                                       | 必填 | 说明                                                         |
| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                     | 是   | 监听事件,固定为'windowEvent',即窗口生命周期变化事件。 |
| callback | Callback&lt;[WindowEventType](#windoweventtype10)&gt; | 是   | 回调函数。返回当前的窗口生命周期状态。                 |

**示例:**

```js
try {
    windowClass.on('windowEvent', (data) => {
        console.info('Window event happened. Event:' + JSON.stringify(data));
    });
} catch (exception) {
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
}
```

### off('windowEvent')<sup>10+</sup>

off(type: 'windowEvent', callback?: Callback&lt;WindowEventType &gt;): void

关闭窗口生命周期变化的监听。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                                                       | 必填 | 说明                                                         |
| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                     | 是   | 监听事件,固定为'windowEvent',即窗口生命周期变化事件。 |
| callback | Callback&lt;[WindowEventType](#windoweventtype10)&gt; | 否   | 回调函数。返回当前的窗口生命周期状态。                 |

**示例:**

```js
try {
    windowClass.off('windowEvent');
} catch (exception) {
    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3002
}
3003 3004
```

Z
zhengjiangliang 已提交
3005
### bindDialogTarget<sup>9+</sup>
G
ge-yafang 已提交
3006

Z
zhengjiangliang 已提交
3007
bindDialogTarget(token: rpc.RemoteObject, deathCallback: Callback&lt;void&gt;, callback: AsyncCallback&lt;void&gt;): void
G
ge-yafang 已提交
3008

Z
zhengjiangliang 已提交
3009
绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用callback异步回调。
G
ge-yafang 已提交
3010

Z
zhengjiangliang 已提交
3011
**系统接口:** 此接口为系统接口。
G
ge-yafang 已提交
3012 3013 3014

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
3015
**参数:**
G
ge-yafang 已提交
3016

Z
zhengjiangliang 已提交
3017 3018 3019 3020 3021
| 参数名       | 类型                      | 必填 | 说明                  |
| ----------- | ------------------------- | ---- | -------------------- |
| token       | [rpc.RemoteObject](js-apis-rpc.md#remoteobject) | 是   | 目标窗口token值。 |
| deathCallback | Callback&lt;void&gt;        | 是   | 模态窗口销毁监听。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
G
ge-yafang 已提交
3022

Z
zhengjiangliang 已提交
3023
**错误码:**
G
ge-yafang 已提交
3024

Z
zhengjiangliang 已提交
3025 3026 3027 3028 3029
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3030
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
3031 3032 3033 3034

**示例:**

```js
Z
zhengjiangliang 已提交
3035 3036
import rpc from '@ohos.rpc';

Z
zhengjiangliang 已提交
3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053
class MyDeathRecipient {
    onRemoteDied() {
        console.log('server died');
    }
}
class TestRemoteObject extends rpc.RemoteObject {
    constructor(descriptor) {
        super(descriptor);
    }
    addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
        return true;
    }
    removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
        return true;
    }
    isObjectDead(): boolean {
        return false;
G
ge-yafang 已提交
3054 3055
    }
}
Z
zhengjiangliang 已提交
3056

Z
zhengjiangliang 已提交
3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069
let token = new TestRemoteObject('testObject');
try {
    windowClass.bindDialogTarget(token, () => {
        console.info('Dialog Window Need Destroy.');
    }, (err) => {
        if (err.code) {
            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in binding dialog target.');
    });
} catch (exception) {
    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3070
}
G
ge-yafang 已提交
3071 3072
```

Z
zhengjiangliang 已提交
3073
### bindDialogTarget<sup>9+</sup>
G
ge-yafang 已提交
3074

Z
zhengjiangliang 已提交
3075
bindDialogTarget(token: rpc.RemoteObject, deathCallback: Callback&lt;void&gt;): Promise&lt;void&gt;
G
ge-yafang 已提交
3076

Z
zhengjiangliang 已提交
3077
绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用Promise异步回调。
G
ge-yafang 已提交
3078

Z
zhengjiangliang 已提交
3079
**系统接口:** 此接口为系统接口。
G
ge-yafang 已提交
3080 3081 3082

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
3083
**参数:**
G
ge-yafang 已提交
3084

Z
zhengjiangliang 已提交
3085 3086 3087 3088
| 参数名       | 类型                      | 必填 | 说明                  |
| ----------- | ------------------------- | ---- | -------------------- |
| token       | [rpc.RemoteObject](js-apis-rpc.md#remoteobject) | 是   | 目标窗口token值。 |
| deathCallback | Callback&lt;void&gt;        | 是   | 模态窗口销毁监听。 |
G
ge-yafang 已提交
3089 3090 3091 3092 3093 3094

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
3095

Z
zhengjiangliang 已提交
3096 3097 3098 3099 3100 3101 3102
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3103
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
3104

G
ge-yafang 已提交
3105 3106
**示例:**

Z
zhengjiangliang 已提交
3107
```js
Z
zhengjiangliang 已提交
3108 3109
import rpc from '@ohos.rpc';

Z
zhengjiangliang 已提交
3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126
class MyDeathRecipient {
    onRemoteDied() {
        console.log('server died');
    }
}
class TestRemoteObject extends rpc.RemoteObject {
    constructor(descriptor) {
        super(descriptor);
    }
    addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
        return true;
    }
    removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
        return true;
    }
    isObjectDead(): boolean {
        return false;
G
ge-yafang 已提交
3127 3128
    }
}
Z
zhengjiangliang 已提交
3129

Z
zhengjiangliang 已提交
3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141
let token = new TestRemoteObject('testObject');
try {
    let promise = windowClass.bindDialogTarget(token, () => {
        console.info('Dialog Window Need Destroy.');
    });
    promise.then(()=> {
        console.info('Succeeded in binding dialog target.');
    }).catch((err)=>{
            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3142
}
G
ge-yafang 已提交
3143
```
3144

Z
z00514981 已提交
3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292
### bindDialogTarget<sup>9+</sup>

bindDialogTarget(requestInfo: dialogRequest.RequestInfo, deathCallback: Callback&lt;void&gt;, callback: AsyncCallback&lt;void&gt;): void

绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用callback异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名       | 类型                      | 必填 | 说明                  |
| ----------- | ------------------------- | ---- | -------------------- |
| requestInfo | [dialogRequest.RequestInfo](js-apis-app-ability-dialogRequest.md#requestinfo) | 是   | 目标窗口RequestInfo值。 |
| deathCallback | Callback&lt;void&gt;    | 是   | 模态窗口销毁监听。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service works abnormally. |

**示例:**

```js
import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
import rpc from '@ohos.rpc';
import dialogRequest from '@ohos.app.ability.dialogRequest';
import window from '@ohos.window';

export default class ServiceExtAbility extends ServiceExtensionAbility {
    onCreate(want) {
        console.info('onCreate');
    }

    onRequest(want, startId) {
        console.info('onRequest');
        try {
            let requestInfo = dialogRequest.getRequestInfo(want)
            windowClass.bindDialogTarget(requestInfo, () => {
                console.info('Dialog Window Need Destroy.');
            }, (err) => {
                if (err.code) {
                    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
                    return;
                }
                console.info('Succeeded in binding dialog target.');
            });
        } catch(err) {
            console.error('getRequestInfo err = ' + JSON.stringify(err))
        }
    }

    onConnect(want) {
        console.info('onConnect');
    }

    onDisconnect(want) {
        console.info('onDisconnect');
    }

    onDestroy() {
        console.info('onDestroy');
    }
}
```

### bindDialogTarget<sup>9+</sup>

bindDialogTarget(requestInfo: dialogRequest.RequestInfo, deathCallback: Callback&lt;void&gt;): Promise&lt;void&gt;

绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用Promise异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名       | 类型                      | 必填 | 说明                  |
| ----------- | ------------------------- | ---- | -------------------- |
| requestInfo | [dialogRequest.RequestInfo](js-apis-app-ability-dialogRequest.md#requestinfo) | 是   | 目标窗口RequestInfo值。 |
| deathCallback | Callback&lt;void&gt;    | 是   | 模态窗口销毁监听。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service works abnormally. |

**示例:**

```js
import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
import rpc from '@ohos.rpc';
import dialogRequest from '@ohos.app.ability.dialogRequest';
import window from '@ohos.window';

export default class ServiceExtAbility extends ServiceExtensionAbility {
    onCreate(want) {
        console.info('onCreate');
    }

    onRequest(want, startId) {
        console.info('onRequest');
        try {
            let requestInfo = dialogRequest.getRequestInfo(want)
            let promise = windowClass.bindDialogTarget(requestInfo, () => {
                console.info('Dialog Window Need Destroy.');
            });
            promise.then(()=> {
                console.info('Succeeded in binding dialog target.');
            }).catch((err)=>{
                    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
            });
        } catch(err) {
            console.error('getRequestInfo err = ' + JSON.stringify(err))
        }
    }

    onConnect(want) {
        console.info('onConnect');
    }

    onDisconnect(want) {
        console.info('onDisconnect');
    }

    onDestroy() {
        console.info('onDestroy');
    }
}
```

Z
zhengjiangliang 已提交
3293
### isWindowSupportWideGamut<sup>9+</sup>
C
chyyy0213 已提交
3294

Z
zhengjiangliang 已提交
3295
isWindowSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
3296

Z
zhengjiangliang 已提交
3297
判断当前窗口是否支持广色域模式,使用callback异步回调。
3298

G
ge-yafang 已提交
3299
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
3300

L
leafly2021 已提交
3301
**参数:**
C
chyyy0213 已提交
3302

Z
zhengjiangliang 已提交
3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | -- | -------------------------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
Z
zengyawen 已提交
3314

L
leafly2021 已提交
3315
**示例:**
C
chyyy0213 已提交
3316

G
ge-yafang 已提交
3317
```js
Z
zhengjiangliang 已提交
3318
windowClass.isWindowSupportWideGamut((err, data) => {
G
ge-yafang 已提交
3319
    if (err.code) {
Z
zhengjiangliang 已提交
3320
        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
3321 3322
        return;
    }
Z
zhengjiangliang 已提交
3323
    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
3324 3325
});
```
C
chyyy0213 已提交
3326

Z
zhengjiangliang 已提交
3327
### isWindowSupportWideGamut<sup>9+</sup>
C
chyyy0213 已提交
3328

Z
zhengjiangliang 已提交
3329
isWindowSupportWideGamut(): Promise&lt;boolean&gt;
C
chyyy0213 已提交
3330

Z
zhengjiangliang 已提交
3331
判断当前窗口是否支持广色域模式,使用Promise异步回调。
3332

G
ge-yafang 已提交
3333
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
3334

L
leafly2021 已提交
3335
**返回值:**
C
chyyy0213 已提交
3336

Z
zhengjiangliang 已提交
3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
C
chyyy0213 已提交
3348

L
leafly2021 已提交
3349
**示例:**
C
chyyy0213 已提交
3350

G
ge-yafang 已提交
3351
```js
Z
zhengjiangliang 已提交
3352
let promise = windowClass.isWindowSupportWideGamut();
G
ge-yafang 已提交
3353
promise.then((data)=> {
Z
zhengjiangliang 已提交
3354
    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
3355
}).catch((err)=>{
Z
zhengjiangliang 已提交
3356
    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
3357 3358
});
```
Z
zengyawen 已提交
3359

Z
zhengjiangliang 已提交
3360
### setWindowColorSpace<sup>9+</sup>
3361

Z
zhengjiangliang 已提交
3362
setWindowColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
3363

Z
zhengjiangliang 已提交
3364
设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。
3365 3366 3367

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
3368
**参数:**
3369

Z
zhengjiangliang 已提交
3370 3371
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | -- | ----------- |
G
ge-yafang 已提交
3372
| colorSpace | [ColorSpace](#colorspace8) | 是 | 设置色域模式。 |
Z
zhengjiangliang 已提交
3373 3374 3375 3376 3377 3378 3379 3380 3381
| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。   |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
3382 3383 3384 3385 3386

**示例:**

```js
try {
Z
zhengjiangliang 已提交
3387 3388 3389 3390 3391 3392 3393
    windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
        if (err.code) {
            console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting window colorspace.');
    });
3394
} catch (exception) {
Z
zhengjiangliang 已提交
3395
    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3396
}
3397 3398
```

Z
zhengjiangliang 已提交
3399
### setWindowColorSpace<sup>9+</sup>
Z
zengyawen 已提交
3400

Z
zhengjiangliang 已提交
3401
setWindowColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
Z
zengyawen 已提交
3402

Z
zhengjiangliang 已提交
3403
设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。
C
chyyy0213 已提交
3404

G
ge-yafang 已提交
3405
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
3406

L
leafly2021 已提交
3407
**参数:**
C
chyyy0213 已提交
3408

Z
zhengjiangliang 已提交
3409 3410
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | -- | ------------- |
G
ge-yafang 已提交
3411
| colorSpace | [ColorSpace](#colorspace8) | 是 | 设置色域模式。 |
Z
zhengjiangliang 已提交
3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
Z
zengyawen 已提交
3426

L
leafly2021 已提交
3427
**示例:**
C
chyyy0213 已提交
3428

G
ge-yafang 已提交
3429
```js
3430
try {
Z
zhengjiangliang 已提交
3431 3432 3433 3434 3435
    let promise = windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT);
    promise.then(()=> {
        console.info('Succeeded in setting window colorspace.');
    }).catch((err)=>{
        console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
3436 3437
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3438
    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3439
}
G
ge-yafang 已提交
3440
```
Z
zengyawen 已提交
3441

Z
zhengjiangliang 已提交
3442
### getWindowColorSpace<sup>9+</sup>
Z
zengyawen 已提交
3443

Z
zhengjiangliang 已提交
3444
getWindowColorSpace(): ColorSpace
Z
zengyawen 已提交
3445

Z
zhengjiangliang 已提交
3446
获取当前窗口色域模式。
C
chyyy0213 已提交
3447

G
ge-yafang 已提交
3448
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
3449

Z
zhengjiangliang 已提交
3450
**返回值:**
C
chyyy0213 已提交
3451

Z
zhengjiangliang 已提交
3452 3453
| 类型 | 说明 |
| ------------------------- | ------------- |
G
ge-yafang 已提交
3454
| [ColorSpace](#colorspace8) | 当前色域模式。 |
Z
zhengjiangliang 已提交
3455 3456 3457 3458 3459 3460 3461 3462

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
Z
zengyawen 已提交
3463

L
leafly2021 已提交
3464
**示例:**
C
chyyy0213 已提交
3465

G
ge-yafang 已提交
3466
```js
Z
zhengjiangliang 已提交
3467
let colorSpace = windowClass.getWindowColorSpace();
G
ge-yafang 已提交
3468
```
Z
zengyawen 已提交
3469

Z
zhengjiangliang 已提交
3470
### setWindowBackgroundColor<sup>9+</sup>
C
chyyy0213 已提交
3471

Z
zhengjiangliang 已提交
3472
setWindowBackgroundColor(color: string): void
C
chyyy0213 已提交
3473

3474
设置窗口的背景色。Stage模型下,该接口需要在[loadContent()](#loadcontent9)[setUIContent()](#setuicontent9)调用生效后使用。
C
chyyy0213 已提交
3475

G
ge-yafang 已提交
3476
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
3477

L
leafly2021 已提交
3478
**参数:**
C
chyyy0213 已提交
3479

Z
zhengjiangliang 已提交
3480 3481
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | -- | ----------------------------------------------------------------------- |
L
leafly2021 已提交
3482
| color | string | 是 | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
C
chyyy0213 已提交
3483

Z
zhengjiangliang 已提交
3484
**错误码:**
C
chyyy0213 已提交
3485

Z
zhengjiangliang 已提交
3486
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)
C
chyyy0213 已提交
3487

Z
zhengjiangliang 已提交
3488 3489 3490
| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
C
chyyy0213 已提交
3491

Z
zhengjiangliang 已提交
3492
**示例:**
C
chyyy0213 已提交
3493

Z
zhengjiangliang 已提交
3494 3495 3496 3497 3498 3499
```js
let color = '#00ff33';
try {
    windowClass.setWindowBackgroundColor(color);
} catch (exception) {
    console.error('Failed to set the background color. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3500
}
Z
zhengjiangliang 已提交
3501 3502 3503 3504 3505 3506 3507
```

### setWindowBrightness<sup>9+</sup>

setWindowBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void

设置屏幕亮度值,使用callback异步回调。
C
chyyy0213 已提交
3508

G
ge-yafang 已提交
3509
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
3510

L
leafly2021 已提交
3511
**参数:**
C
chyyy0213 已提交
3512

Z
zhengjiangliang 已提交
3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | -- | --------------------------------- |
| brightness | number                    | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。                         |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3525
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
3526

L
leafly2021 已提交
3527
**示例:**
C
chyyy0213 已提交
3528

G
ge-yafang 已提交
3529
```js
Z
zhengjiangliang 已提交
3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540
let brightness = 1;
try {
    windowClass.setWindowBrightness(brightness, (err) => {
        if (err.code) {
            console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the brightness.');
    });
} catch (exception) {
    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3541
}
G
ge-yafang 已提交
3542
```
C
chyyy0213 已提交
3543

Z
zhengjiangliang 已提交
3544
### setWindowBrightness<sup>9+</sup>
3545

Z
zhengjiangliang 已提交
3546
setWindowBrightness(brightness: number): Promise&lt;void&gt;
3547

Z
zhengjiangliang 已提交
3548
设置屏幕亮度值,使用Promise异步回调。
3549 3550 3551 3552 3553

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | -- | --------------------------------- |
| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3571
| 1300003 | This window manager service works abnormally. |
3572 3573 3574 3575

**示例:**

```js
Z
zhengjiangliang 已提交
3576
let brightness = 1;
3577
try {
Z
zhengjiangliang 已提交
3578 3579 3580 3581 3582
    let promise = windowClass.setWindowBrightness(brightness);
    promise.then(()=> {
        console.info('Succeeded in setting the brightness.');
    }).catch((err)=>{
        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
3583 3584
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3585
    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3586
}
3587 3588
```

Z
zhengjiangliang 已提交
3589
### setWindowFocusable<sup>9+</sup>
3590

Z
zhengjiangliang 已提交
3591
setWindowFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
3592

Z
zhengjiangliang 已提交
3593
设置点击时是否支持切换焦点窗口,使用callback异步回调。
3594 3595 3596 3597 3598

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | -- | ------------------------------------------------------- |
| isFocusable | boolean                   | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
| callback    | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                               |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3611
| 1300003 | This window manager service works abnormally. |
3612 3613 3614 3615

**示例:**

```js
Z
zhengjiangliang 已提交
3616
let isFocusable = true;
3617
try {
Z
zhengjiangliang 已提交
3618 3619 3620 3621 3622 3623 3624
    windowClass.setWindowFocusable(isFocusable, (err) => {
        if (err.code) {
            console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the window to be focusable.');
    });
3625
} catch (exception) {
Z
zhengjiangliang 已提交
3626
    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3627
}
3628 3629
```

Z
zhengjiangliang 已提交
3630
### setWindowFocusable<sup>9+</sup>
C
chyyy0213 已提交
3631

Z
zhengjiangliang 已提交
3632
setWindowFocusable(isFocusable: boolean): Promise&lt;void&gt;
C
chyyy0213 已提交
3633

Z
zhengjiangliang 已提交
3634
设置点击时是否支持切换焦点窗口,使用Promise异步回调。
C
chyyy0213 已提交
3635

G
ge-yafang 已提交
3636
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
3637

L
leafly2021 已提交
3638
**参数:**
C
chyyy0213 已提交
3639

Z
zhengjiangliang 已提交
3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | -- | -------------------------------------------------------- |
| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。  |

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3657
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
3658

L
leafly2021 已提交
3659
**示例:**
C
chyyy0213 已提交
3660

G
ge-yafang 已提交
3661
```js
Z
zhengjiangliang 已提交
3662
let isFocusable = true;
3663
try {
Z
zhengjiangliang 已提交
3664 3665 3666 3667 3668
    let promise = windowClass.setWindowFocusable(isFocusable);
    promise.then(()=> {
        console.info('Succeeded in setting the window to be focusable.');
    }).catch((err)=>{
        console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
3669 3670
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3671
    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3672
}
G
ge-yafang 已提交
3673
```
C
chyyy0213 已提交
3674

Z
zhengjiangliang 已提交
3675
### setWindowKeepScreenOn<sup>9+</sup>
C
chyyy0213 已提交
3676

Z
zhengjiangliang 已提交
3677
setWindowKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
3678

Z
zhengjiangliang 已提交
3679
设置屏幕是否为常亮状态,使用callback异步回调。
C
chyyy0213 已提交
3680

G
ge-yafang 已提交
3681
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
3682

L
leafly2021 已提交
3683
**参数:**
C
chyyy0213 已提交
3684

Z
zhengjiangliang 已提交
3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------- | -- | ---------------------------------------------------- |
| isKeepScreenOn | boolean                   | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。  |
| callback       | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                            |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3697
| 1300003 | This window manager service works abnormally. |
C
chyyy0213 已提交
3698

L
leafly2021 已提交
3699
**示例:**
C
chyyy0213 已提交
3700

G
ge-yafang 已提交
3701
```js
Z
zhengjiangliang 已提交
3702
let isKeepScreenOn = true;
3703
try {
Z
zhengjiangliang 已提交
3704 3705 3706 3707 3708 3709 3710
    windowClass.setWindowKeepScreenOn(isKeepScreenOn, (err) => {
        if (err.code) {
            console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the screen to be always on.');
    });
3711
} catch (exception) {
Z
zhengjiangliang 已提交
3712
    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3713
}
G
ge-yafang 已提交
3714
```
C
chyyy0213 已提交
3715

Z
zhengjiangliang 已提交
3716
### setWindowKeepScreenOn<sup>9+</sup>
D
dubj 已提交
3717

Z
zhengjiangliang 已提交
3718
setWindowKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
L
leafly2021 已提交
3719

Z
zhengjiangliang 已提交
3720
设置屏幕是否为常亮状态,使用Promise异步回调。
D
dubj 已提交
3721 3722 3723 3724 3725

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------- | -- | --------------------------------------------------- |
| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3743
| 1300003 | This window manager service works abnormally. |
D
dubj 已提交
3744 3745 3746 3747

**示例:**

```js
Z
zhengjiangliang 已提交
3748
let isKeepScreenOn = true;
3749
try {
Z
zhengjiangliang 已提交
3750 3751 3752 3753 3754
    let promise = windowClass.setWindowKeepScreenOn(isKeepScreenOn);
    promise.then(() => {
        console.info('Succeeded in setting the screen to be always on.');
    }).catch((err)=>{
        console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err));
3755 3756
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3757
    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3758
}
D
dubj 已提交
3759 3760
```

Z
zhengjiangliang 已提交
3761
### setWakeUpScreen()<sup>9+</sup>
D
dubj 已提交
3762

Z
zhengjiangliang 已提交
3763
setWakeUpScreen(wakeUp: boolean): void
D
dubj 已提交
3764

Z
zhengjiangliang 已提交
3765
窗口唤醒屏幕。
L
leafly2021 已提交
3766

3767
**系统接口:** 此接口为系统接口。
D
dubj 已提交
3768 3769 3770 3771 3772

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783
| 参数名           | 类型    | 必填 | 说明                         |
| ---------------- | ------- | ---- | ---------------------------- |
| wakeUp           | boolean | 是   | 是否设置唤醒屏幕。true表示唤醒;false表示不唤醒。  |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3784
| 1300003 | This window manager service works abnormally. |
D
dubj 已提交
3785 3786 3787 3788

**示例:**

```js
Z
zhengjiangliang 已提交
3789
let wakeUp = true;
3790
try {
Z
zhengjiangliang 已提交
3791
    windowClass.setWakeUpScreen(wakeUp);
3792
} catch (exception) {
Z
zhengjiangliang 已提交
3793
    console.error('Failed to wake up the screen. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3794
}
D
dubj 已提交
3795 3796
```

Z
zhengjiangliang 已提交
3797
### setWindowPrivacyMode<sup>9+</sup>
3798

Z
zhengjiangliang 已提交
3799
setWindowPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
3800

Z
zhengjiangliang 已提交
3801
设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3802 3803 3804

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
3805
**需要权限:** ohos.permission.PRIVACY_WINDOW
Z
zhengjiangliang 已提交
3806

3807 3808
**参数:**

Z
zhengjiangliang 已提交
3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------------------------- | -- | ------------------------------------------------------ |
| isPrivacyMode | boolean                   | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。  |
| callback      | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                              |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
3821 3822 3823 3824

**示例:**

```js
Z
zhengjiangliang 已提交
3825
let isPrivacyMode = true;
3826
try {
Z
zhengjiangliang 已提交
3827 3828 3829 3830 3831 3832
    windowClass.setWindowPrivacyMode(isPrivacyMode, (err) => {
        if (err.code) {
            console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the window to privacy mode.');
3833 3834
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3835
    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3836
}
3837 3838
```

Z
zhengjiangliang 已提交
3839
### setWindowPrivacyMode<sup>9+</sup>
3840

Z
zhengjiangliang 已提交
3841
setWindowPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
3842

Z
zhengjiangliang 已提交
3843
设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3844 3845 3846

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
3847
**需要权限:** ohos.permission.PRIVACY_WINDOW
Z
zhengjiangliang 已提交
3848

3849 3850
**参数:**

Z
zhengjiangliang 已提交
3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------- | -- | ----------------------------------------------------- |
| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
3868 3869 3870 3871

**示例:**

```js
Z
zhengjiangliang 已提交
3872
let isPrivacyMode = true;
3873
try {
Z
zhengjiangliang 已提交
3874 3875 3876 3877 3878 3879
    let promise = windowClass.setWindowPrivacyMode(isPrivacyMode);
    promise.then(()=> {
        console.info('Succeeded in setting the window to privacy mode.');
    }).catch((err)=>{
        console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
    });
3880
} catch (exception) {
Z
zhengjiangliang 已提交
3881
    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3882
}
3883 3884
```

Z
zhengjiangliang 已提交
3885 3886
### setSnapshotSkip<sup>9+</sup>
setSnapshotSkip(isSkip: boolean): void
3887

Z
zhengjiangliang 已提交
3888
截屏录屏是否忽略当前窗口。
3889

Z
zhengjiangliang 已提交
3890
**系统接口:** 此接口为系统接口。
3891 3892 3893 3894 3895

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938
| 参数名        | 类型    | 必填 | 说明                 |
| ------------- | ------- | ---- | -------------------- |
| isSkip | boolean | 是   | 截屏录屏是否忽略当前窗口,默认为false。<br>true表示忽略当前窗口,false表示不忽略当前窗口。</br> |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

```js
let isSkip = true;
try {
    windowClass.setSnapshotSkip(isSkip);
} catch (exception) {
    console.error('Failed to Skip. Cause: ' + JSON.stringify(exception));
};
```

### setWindowTouchable<sup>9+</sup>

setWindowTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void

设置窗口是否为可触状态,使用callback异步回调。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | -- | ----------------------------------------------- |
| isTouchable | boolean                   | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 |
| callback    | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                        |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3939
| 1300003 | This window manager service works abnormally. |
3940 3941 3942 3943

**示例:**

```js
Z
zhengjiangliang 已提交
3944
let isTouchable = true;
3945
try {
Z
zhengjiangliang 已提交
3946 3947 3948 3949 3950 3951
    windowClass.setWindowTouchable(isTouchable, (err) => {
        if (err.code) {
            console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the window to be touchable.');
3952 3953
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3954
    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
3955
}
3956 3957
```

Z
zhengjiangliang 已提交
3958
### setWindowTouchable<sup>9+</sup>
3959

Z
zhengjiangliang 已提交
3960
setWindowTouchable(isTouchable: boolean): Promise&lt;void&gt;
3961

Z
zhengjiangliang 已提交
3962
设置窗口是否为可触状态,使用Promise异步回调。
3963 3964 3965 3966 3967

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | -- | ----------------------------------------------- |
| isTouchable | boolean | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 |

**返回值:**

| 类型 | 说明 |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
3985
| 1300003 | This window manager service works abnormally. |
3986 3987 3988 3989

**示例:**

```js
Z
zhengjiangliang 已提交
3990
let isTouchable = true;
3991
try {
Z
zhengjiangliang 已提交
3992 3993 3994 3995 3996 3997
    let promise = windowClass.setWindowTouchable(isTouchable);
    promise.then(()=> {
        console.info('Succeeded in setting the window to be touchable.');
    }).catch((err)=>{
        console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
    });
3998
} catch (exception) {
Z
zhengjiangliang 已提交
3999
    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4000
}
4001 4002
```

Z
zhengjiangliang 已提交
4003
### setForbidSplitMove<sup>9+</sup>
4004

Z
zhengjiangliang 已提交
4005
setForbidSplitMove(isForbidSplitMove: boolean, callback: AsyncCallback&lt;void&gt;): void
4006

Z
zhengjiangliang 已提交
4007
设置窗口在分屏模式下是否被禁止移动,使用callback异步回调。
4008

4009
**系统接口:** 此接口为系统接口。
4010 4011 4012

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
4013
**参数:**
4014

Z
zhengjiangliang 已提交
4015
| 参数名      | 类型                      | 必填 | 说明                 |
4016
| ----------- | ------------------------- | ---- | -------------------- |
Z
zhengjiangliang 已提交
4017 4018 4019 4020 4021 4022 4023 4024 4025 4026
| isForbidSplitMove | boolean                   | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
4027
| 1300003 | This window manager service works abnormally. |
4028

L
leafly2021 已提交
4029
**示例:**
4030 4031

```js
Z
zhengjiangliang 已提交
4032
let isForbidSplitMove = true;
4033
try {
Z
zhengjiangliang 已提交
4034
    windowClass.setForbidSplitMove(isForbidSplitMove, (err) => {
4035
        if (err.code) {
Z
zhengjiangliang 已提交
4036
            console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(err));
4037 4038
            return;
        }
Z
zhengjiangliang 已提交
4039
        console.info('Succeeded in forbidding window moving in split screen mode.');
4040 4041
    });
} catch (exception) {
Z
zhengjiangliang 已提交
4042
    console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4043
}
4044 4045
```

Z
zhengjiangliang 已提交
4046
### setForbidSplitMove<sup>9+</sup>
4047

Z
zhengjiangliang 已提交
4048
setForbidSplitMove(isForbidSplitMove: boolean): Promise&lt;void&gt;
4049

Z
zhengjiangliang 已提交
4050
设置窗口在分屏模式下是否被禁止移动,使用Promise异步回调。
4051

4052
**系统接口:** 此接口为系统接口。
4053 4054 4055

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
4056
**参数:**
4057

Z
zhengjiangliang 已提交
4058 4059 4060
| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
| isForbidSplitMove | boolean | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
4061

L
leafly2021 已提交
4062
**返回值:**
4063 4064 4065 4066 4067

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
4068 4069 4070 4071 4072 4073 4074
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
4075
| 1300003 | This window manager service works abnormally. |
Z
zhengjiangliang 已提交
4076

L
leafly2021 已提交
4077
**示例:**
4078 4079

```js
Z
zhengjiangliang 已提交
4080 4081 4082 4083 4084 4085 4086 4087 4088 4089
let isForbidSplitMove = true;
try {
    let promise = windowClass.setForbidSplitMove(isForbidSplitMove);
    promise.then(()=> {
        console.info('Succeeded in forbidding window moving in split screen mode.');
    }).catch((err)=>{
        console.error('Failed to forbid window moving in split screen mode. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4090
}
Z
zhengjiangliang 已提交
4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117
```

### snapshot<sup>9+</sup>

snapshot(callback: AsyncCallback&lt;image.PixelMap&gt;): void

获取窗口截图,使用callback异步回调。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名      | 类型                      | 必填 | 说明                 |
| ----------- | ------------------------- | ---- | -------------------- |
| callback    | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是   | 回调函数。  |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

**示例:**

```js
4118
windowClass.snapshot((err, pixelMap) => {
Z
zhengjiangliang 已提交
4119 4120 4121
    if (err.code) {
        console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
        return;
Z
zhengjiangliang 已提交
4122
    }
Z
zhengjiangliang 已提交
4123
    console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
4124
    pixelMap.release(); // PixelMap使用完后及时释放内存
Z
zhengjiangliang 已提交
4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165
});
```

### snapshot<sup>9+</sup>

snapshot(): Promise&lt;image.PixelMap&gt;

获取窗口截图,使用Promise异步回调。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | Promise对象。返回当前窗口截图。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |

**示例:**

```js
let promise = windowClass.snapshot();
promise.then((pixelMap)=> {
    console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
    pixelMap.release(); // PixelMap使用完后及时释放内存
}).catch((err)=>{
    console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
});
```

### opacity<sup>9+</sup>

opacity(opacity: number): void

4166
设置窗口不透明度。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
Z
zhengjiangliang 已提交
4167 4168 4169 4170 4171 4172 4173

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

4174 4175 4176
| 参数名  | 类型   | 必填 | 说明                                                        |
| ------- | ------ | ---- | ----------------------------------------------------------- |
| opacity | number | 是   | 不透明度,范围0.0~1.0。0.0表示完全透明,1.0表示完全不透明。 |
Z
zhengjiangliang 已提交
4177 4178 4179 4180 4181 4182 4183 4184

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4185
| 1300004 | Unauthorized operation.  |
Z
zhengjiangliang 已提交
4186 4187 4188 4189 4190 4191 4192 4193

**示例:**

```js
try {
    windowClass.opacity(0.5);
} catch (exception) {
    console.error('Failed to opacity. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4194
}
Z
zhengjiangliang 已提交
4195 4196 4197 4198 4199 4200
```

### scale<sup>9+</sup>

scale(scaleOptions: ScaleOptions): void

4201
设置窗口缩放参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
Z
zhengjiangliang 已提交
4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名       | 类型                           | 必填 | 说明       |
| ------------ | ------------------------------ | ---- | ---------- |
| scaleOptions | [ScaleOptions](#scaleoptions9) | 是   | 缩放参数。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4220
| 1300004 | Unauthorized operation.  |
Z
zhengjiangliang 已提交
4221 4222 4223 4224 4225 4226 4227

**示例:**

```js
let obj : window.ScaleOptions = {
  x : 2.0,
  y : 1.0,
4228 4229 4230
  pivotX : 0.5,
  pivotY : 0.5
};
Z
zhengjiangliang 已提交
4231 4232 4233 4234
try {
    windowClass.scale(obj);
} catch (exception) {
    console.error('Failed to scale. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4235
}
Z
zhengjiangliang 已提交
4236 4237 4238 4239 4240 4241
```

### rotate<sup>9+</sup>

rotate(rotateOptions: RotateOptions): void

4242
设置窗口旋转参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
Z
zhengjiangliang 已提交
4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名        | 类型                             | 必填 | 说明       |
| ------------- | -------------------------------- | ---- | ---------- |
| rotateOptions | [RotateOptions](#rotateoptions9) | 是   | 旋转参数。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4261
| 1300004 | Unauthorized operation.  |
Z
zhengjiangliang 已提交
4262 4263 4264 4265 4266 4267 4268 4269

**示例:**

```js
let obj : window.RotateOptions = {
  x : 1.0,
  y : 1.0,
  z : 45.0,
4270 4271 4272
  pivotX : 0.5,
  pivotY : 0.5
};
4273
try {
Z
zhengjiangliang 已提交
4274
    windowClass.rotate(obj);
4275
} catch (exception) {
Z
zhengjiangliang 已提交
4276
    console.error('Failed to rotate. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4277
}
4278 4279
```

Z
zhengjiangliang 已提交
4280
### translate<sup>9+</sup>
Z
zengyawen 已提交
4281

Z
zhengjiangliang 已提交
4282
translate(translateOptions: TranslateOptions): void
C
chyyy0213 已提交
4283

4284
设置窗口平移参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
Z
zengyawen 已提交
4285

Z
zhengjiangliang 已提交
4286
**系统接口:** 此接口为系统接口。
4287

G
ge-yafang 已提交
4288
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
4289

L
leafly2021 已提交
4290
**参数:**
C
chyyy0213 已提交
4291

4292 4293 4294
| 参数名           | 类型                                   | 必填 | 说明                 |
| ---------------- | -------------------------------------- | ---- | -------------------- |
| translateOptions | [TranslateOptions](#translateoptions9) | 是   | 平移参数,单位为px。 |
Z
zhengjiangliang 已提交
4295 4296 4297 4298 4299 4300 4301 4302

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4303
| 1300004 | Unauthorized operation.  |
Z
zengyawen 已提交
4304

L
leafly2021 已提交
4305
**示例:**
C
chyyy0213 已提交
4306

G
ge-yafang 已提交
4307
```js
Z
zhengjiangliang 已提交
4308 4309 4310 4311
let obj : window.TranslateOptions = {
  x : 100.0,
  y : 0.0,
  z : 0.0
4312
};
Z
zhengjiangliang 已提交
4313 4314 4315 4316
try {
    windowClass.translate(obj);
} catch (exception) {
    console.error('Failed to translate. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4317
}
Z
zhengjiangliang 已提交
4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342
```

###  getTransitionController<sup>9+</sup>

 getTransitionController(): TransitionController

获取窗口属性转换控制器。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                                           | 说明             |
| ---------------------------------------------- | ---------------- |
| [TransitionController](#transitioncontroller9) | 属性转换控制器。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4343
| 1300004 | Unauthorized operation.  |
Z
zhengjiangliang 已提交
4344 4345 4346 4347 4348 4349

**示例:**

```js
let controller = windowClass.getTransitionController(); // 获取属性转换控制器
controller.animationForHidden = (context : window.TransitionContext) => {
4350
	let toWindow = context.toWindow;
Z
zhengjiangliang 已提交
4351 4352 4353 4354 4355 4356 4357 4358 4359
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
        onFinish: ()=> {
            context.completeTransition(true)
C
chyyy0213 已提交
4360
        }
Z
zhengjiangliang 已提交
4361 4362 4363 4364 4365
      }, () => {
        let obj : window.TranslateOptions = {
          x : 100.0,
          y : 0.0,
          z : 0.0
4366
        };
Z
zhengjiangliang 已提交
4367 4368 4369
        toWindow.translate(obj); // 设置动画过程中的属性转换
        console.info('toWindow translate end');
      }
Z
zhengjiangliang 已提交
4370
    );
Z
zhengjiangliang 已提交
4371
    console.info('complete transition end');
Z
zhengjiangliang 已提交
4372
};
Z
zhengjiangliang 已提交
4373
windowClass.hideWithAnimation((err, data) => {
G
ge-yafang 已提交
4374
    if (err.code) {
Z
zhengjiangliang 已提交
4375
        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4376 4377
        return;
    }
Z
zhengjiangliang 已提交
4378
    console.info('Succeeded in showing the window with animation. Data: ' + JSON.stringify(data));
Z
zhengjiangliang 已提交
4379
});
G
ge-yafang 已提交
4380
```
Z
zengyawen 已提交
4381

Z
zhengjiangliang 已提交
4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404
### setBlur<sup>9+</sup>

setBlur(radius: number): void

设置窗口模糊。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| radius | number | 是   | 表示窗口模糊的半径值,取值范围为大于等于0,0表示关闭窗口模糊。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4405
| 1300004 | Unauthorized operation.  |
Z
zhengjiangliang 已提交
4406 4407 4408 4409 4410 4411 4412 4413

**示例:**

```js
try {
    windowClass.setBlur(4.0);
} catch (exception) {
    console.error('Failed to set blur. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4414
}
Z
zhengjiangliang 已提交
4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439
```

### setBackdropBlur<sup>9+</sup>

setBackdropBlur(radius: number): void

设置窗口背景模糊。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| radius | number | 是   | 表示窗口背景模糊的半径值,取值范围为大于等于0,0表示关闭窗口背景模糊。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4440
| 1300004 | Unauthorized operation.  |
Z
zhengjiangliang 已提交
4441 4442 4443 4444 4445 4446 4447 4448

**示例:**

```js
try {
    windowClass.setBackdropBlur(4.0);
} catch (exception) {
    console.error('Failed to set backdrop blur. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4449
}
Z
zhengjiangliang 已提交
4450 4451 4452 4453 4454 4455 4456 4457 4458
```

### setBackdropBlurStyle<sup>9+</sup>

setBackdropBlurStyle(blurStyle: BlurStyle): void

设置窗口背景模糊类型。

**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
4459

Z
zhengjiangliang 已提交
4460
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
4461

Z
zhengjiangliang 已提交
4462
**参数:**
C
chyyy0213 已提交
4463

Z
zhengjiangliang 已提交
4464 4465 4466
| 参数名    | 类型      | 必填 | 说明                   |
| --------- | --------- | ---- | ---------------------- |
| blurStyle | [BlurStyle](#blurstyle9) | 是   | 表示窗口背景模糊类型。 |
4467

Z
zhengjiangliang 已提交
4468
**错误码:**
C
chyyy0213 已提交
4469

Z
zhengjiangliang 已提交
4470
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)
C
chyyy0213 已提交
4471

Z
zhengjiangliang 已提交
4472 4473 4474
| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4475
| 1300004 | Unauthorized operation.  |
C
chyyy0213 已提交
4476

L
leafly2021 已提交
4477
**示例:**
C
chyyy0213 已提交
4478

G
ge-yafang 已提交
4479
```js
Z
zhengjiangliang 已提交
4480
try {
4481
    windowClass.setBackdropBlurStyle(window.BlurStyle.THIN);
Z
zhengjiangliang 已提交
4482 4483
} catch (exception) {
    console.error('Failed to set backdrop blur style. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4484
}
G
ge-yafang 已提交
4485
```
C
chyyy0213 已提交
4486

Z
zhengjiangliang 已提交
4487
### setShadow<sup>9+</sup>
4488

Z
zhengjiangliang 已提交
4489
setShadow(radius: number, color?: string, offsetX?: number, offsetY?: number): void
4490

Z
zhengjiangliang 已提交
4491 4492 4493
设置窗口边缘阴影。

**系统接口:** 此接口为系统接口。
4494 4495 4496 4497 4498

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
4499 4500 4501
| 参数名  | 类型   | 必填 | 说明                                                         |
| ------- | ------ | ---- | ------------------------------------------------------------ |
| radius  | number | 是   | 表示窗口边缘阴影的模糊半径,取值范围为大于等于0,0表示关闭窗口边缘阴影。 |
L
leafly2021 已提交
4502
| color   | string | 否   | 表示窗口边缘阴影的颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
Z
zhengjiangliang 已提交
4503 4504 4505 4506 4507 4508 4509 4510 4511 4512
| offsetX | number | 否   | 表示窗口边缘阴影的X轴的偏移量,单位为px。                    |
| offsetY | number | 否   | 表示窗口边缘阴影的Y轴的偏移量,单位为px。                    |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4513
| 1300004 | Unauthorized operation.  |
4514 4515 4516 4517

**示例:**

```js
Z
zhengjiangliang 已提交
4518 4519 4520 4521
try {
    windowClass.setShadow(4.0, '#FF00FF00', 2, 3);
} catch (exception) {
    console.error('Failed to set shadow. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4522
}
4523 4524
```

Z
zhengjiangliang 已提交
4525
### setCornerRadius<sup>9+</sup>
4526

Z
zhengjiangliang 已提交
4527
setCornerRadius(cornerRadius: number): void
4528

Z
zhengjiangliang 已提交
4529 4530 4531
设置窗口圆角半径。

**系统接口:** 此接口为系统接口。
4532 4533 4534

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
4535
**参数:**
4536

Z
zhengjiangliang 已提交
4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547
| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
| radius | number | 是   | 表示窗口圆角的半径值,取值范围为大于等于0,0表示没有窗口圆角。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
4548
| 1300004 | Unauthorized operation.  |
4549 4550 4551 4552

**示例:**

```js
Z
zhengjiangliang 已提交
4553 4554 4555 4556
try {
    windowClass.setCornerRadius(4.0);
} catch (exception) {
    console.error('Failed to set corner radius. Cause: ' + JSON.stringify(exception));
Z
zhengjiangliang 已提交
4557
}
4558 4559
```

Z
zhangkai 已提交
4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635
### raiseToAppTop<sup>10+</sup>

raiseToAppTop(callback: AsyncCallback&lt;void&gt;): void

提升应用子窗口到应用顶层。使用callback异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300003 | This window manager service works abnormally. |
| 1300004 | Unauthorized operation. |
| 1300009 | The parent window is invalid. |

**示例:**

```js
windowClass.raiseToAppTop((err) => {
    if (err.code) {
        console.error('Failed to raise the window to app top. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in raising the window to app top.');
});
```

### raiseToAppTop<sup>10+</sup>

raiseToAppTop(): Promise&lt;void&gt;

提升应用子窗口到应用顶层。使用Promise异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300003 | This window manager service works abnormally. |
| 1300004 | Unauthorized operation. |
| 1300009 | The parent window is invalid. |

**示例:**

```js
let promise = windowClass.raiseToAppTop();
promise.then(()=> {
    console.info('Succeeded in raising the window to app top.');
}).catch((err)=>{
    console.error('Failed to raise the window to app top. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718
### setAspectRatio<sup>10+</sup>

setAspectRatio(ratio: number): Promise&lt;void&gt;

设置窗口内容布局的比例,使用Promise异步回调。

仅应用主窗口支持此接口功能,比例参数将持久化保存,关闭应用或重启设备设置的比例仍然生效。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名             | 类型    | 必填 | 说明                                                         |
| ------------------ | ------- | ---- | ------------------------------------------------------------ |
| ratio | number | 是   | 除边框装饰之外的窗口内容布局的宽高比,取值范围为大于0。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300004 | Unauthorized operation.                      |

**示例:**

```js
try {
    let ratio = 1.0;
    let promise = windowClass.setAspectRatio(ratio);
    promise.then(()=> {
        console.info('Succeeded in setting aspect ratio of window.');
    }).catch((err)=>{
        console.error('Failed to set the aspect ratio of window. Cause:' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the aspect ratio of window. Cause: ' + JSON.stringify(exception));
}
```

### setAspectRatio<sup>10+</sup>

setAspectRatio(ratio: number, callback: AsyncCallback&lt;void&gt;): void

设置窗口内容布局的比例,使用callback异步回调。

仅应用主窗口支持此接口功能,比例参数将持久化保存,关闭应用或重启设备设置的比例仍然生效。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名             | 类型    | 必填 | 说明                                                         |
| ------------------ | ------- | ---- | ------------------------------------------------------------ |
| ratio | number | 是   | 除边框装饰之外的窗口内容布局的宽高比,取值范围为大于0。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300004 | Unauthorized operation.                      |

**示例:**

```js
try {
    let ratio = 1.0;
    windowClass.setAspectRatio(ratio, (err) => {
        if (err.code) {
            console.error('Failed to set the aspect ratio of window. Cause:' + JSON.stringify(err));
            return;
        }
4719
        console.info('Succeeded in setting the aspect ratio of window.');
C
chyyy0213 已提交
4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805
    });
} catch (exception) {
    console.error('Failed to set the aspect ratio of window. Cause: ' + JSON.stringify(exception));
}
```

### resetAspectRatio<sup>10+</sup>

resetAspectRatio(): Promise&lt;void&gt;

取消设置窗口内容布局的比例,使用Promise异步回调。

仅应用主窗口支持此接口功能,调用后将清除持久化储存的比例信息。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300004 | Unauthorized operation.                      |

**示例:**

```js
try {
    let promise = windowClass.resetAspectRatio();
    promise.then(()=> {
        console.info('Succeeded in resetting aspect ratio of window.');
    }).catch((err)=>{
        console.error('Failed to reset the aspect ratio of window. Cause:' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to reset the aspect ratio of window. Cause: ' + JSON.stringify(exception));
}
```

### resetAspectRatio<sup>10+</sup>

resetAspectRatio(callback: AsyncCallback&lt;void&gt;): void

取消设置窗口内容布局的比例,使用callback异步回调。

仅应用主窗口支持此接口功能,调用后将清除持久化储存的比例信息。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名             | 类型    | 必填 | 说明                                                         |
| ------------------ | ------- | ---- | ------------------------------------------------------------ |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300004 | Unauthorized operation.                      |

**示例:**

```js
try {
    windowClass.resetAspectRatio((err) => {
        if (err.code) {
            console.error('Failed to reset the aspect ratio of window. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in resetting aspect ratio of window.');
    });
} catch (exception) {
    console.error('Failed to reset the aspect ratio of window. Cause: ' + JSON.stringify(exception));
}
```
Z
zhangkai 已提交
4806

Z
zhangkai 已提交
4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898
### setWaterMarkFlag<sup>10+</sup>

setWaterMarkFlag(enable: boolean): Promise&lt;void&gt;

为当前窗口添加或删除安全水印标志,使用Promise异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名 | 类型     | 必填 | 说明                                            |
| ------ | ------- | --- | ------------------------------------------------ |
| enable | boolean | 是   | 是否对窗口添加标志位。true表示添加,false表示删除。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ---------------------------------------------- |
| 1300002 | This window state is abnormal.                 |
| 1300003 | This window manager service works abnormally.  |
| 1300008 | The operation is on invalid display.           |

**示例:**

```js
try {
    let enable = true;
    let promise = windowClass.setWaterMarkFlag(enable);
    promise.then(()=> {
        console.info('Succeeded in setting water mark flag of window.');
    }).catch((err)=>{
        console.error('Failed to set water mark flag of window. Cause:' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set water mark flag of window. Cause: ' + JSON.stringify(exception));
}
```

### setWaterMarkFlag<sup>10+</sup>

setWaterMarkFlag(enable: boolean, callback: AsyncCallback&lt;void&gt;): void

为当前窗口添加或删除安全水印标志,使用callback异步回调。

**系统接口:** 此接口为系统接口。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                       | 必填 | 说明                                              |
| -------- | ------------------------- | ---  | ----------------------------------------------- |
| enable   | boolean                   | 是   | 是否对窗口添加标志位。true表示添加,false表示删除。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ---------------------------------------------- |
| 1300002 | This window state is abnormal.                 |
| 1300003 | This window manager service works abnormally.  |
| 1300008 | The operation is on invalid display.           |

**示例:**

```js
try {
    let enable = true;
    windowClass.setWaterMarkFlag(enable, (err) => {
        if (err.code) {
            console.error('Failed to set water mark flag of window. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting water mark flag of window.');
    });
} catch (exception) {
    console.error('Failed to set water mark flag of window. Cause: ' + JSON.stringify(exception));
}
```

Z
zhengjiangliang 已提交
4899
### show<sup>(deprecated)</sup>
C
chyyy0213 已提交
4900

Z
zhengjiangliang 已提交
4901
show(callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
4902

Z
zhengjiangliang 已提交
4903
显示当前窗口,使用callback异步回调。
Z
zengyawen 已提交
4904

4905
> **说明:**
C
chyyy0213 已提交
4906
>
Z
zhengjiangliang 已提交
4907
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9)。
4908

G
ge-yafang 已提交
4909
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
4910

L
leafly2021 已提交
4911
**参数:**
C
chyyy0213 已提交
4912

Z
zhengjiangliang 已提交
4913 4914 4915
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
4916

L
leafly2021 已提交
4917
**示例:**
C
chyyy0213 已提交
4918

G
ge-yafang 已提交
4919
```js
Z
zhengjiangliang 已提交
4920
windowClass.show((err) => {
G
ge-yafang 已提交
4921
    if (err.code) {
Z
zhengjiangliang 已提交
4922
        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4923 4924
        return;
    }
Z
zhengjiangliang 已提交
4925
    console.info('Succeeded in showing the window.');
Z
zhengjiangliang 已提交
4926
});
G
ge-yafang 已提交
4927
```
Z
zengyawen 已提交
4928

Z
zhengjiangliang 已提交
4929
### show<sup>(deprecated)</sup>
C
chyyy0213 已提交
4930

Z
zhengjiangliang 已提交
4931
show(): Promise&lt;void&gt;
C
chyyy0213 已提交
4932

Z
zhengjiangliang 已提交
4933
显示当前窗口,使用Promise异步回调。
C
chyyy0213 已提交
4934

4935
> **说明:**
C
chyyy0213 已提交
4936
>
Z
zhengjiangliang 已提交
4937
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9-1)。
4938

G
ge-yafang 已提交
4939
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
4940

L
leafly2021 已提交
4941
**返回值:**
C
chyyy0213 已提交
4942

G
ge-yafang 已提交
4943 4944 4945
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
4946

L
leafly2021 已提交
4947
**示例:**
C
chyyy0213 已提交
4948

G
ge-yafang 已提交
4949
```js
Z
zhengjiangliang 已提交
4950 4951 4952
let promise = windowClass.show();
promise.then(()=> {
    console.info('Succeeded in showing the window.');
G
ge-yafang 已提交
4953
}).catch((err)=>{
Z
zhengjiangliang 已提交
4954
    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
4955
});
G
ge-yafang 已提交
4956
```
C
chyyy0213 已提交
4957

Z
zhengjiangliang 已提交
4958
### destroy<sup>(deprecated)</sup>
4959

Z
zhengjiangliang 已提交
4960
destroy(callback: AsyncCallback&lt;void&gt;): void
4961

Z
zhengjiangliang 已提交
4962 4963 4964
销毁当前窗口,使用callback异步回调。

> **说明:**
C
chyyy0213 已提交
4965
>
Z
zhengjiangliang 已提交
4966
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9)。
4967 4968 4969 4970 4971

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
4972 4973 4974
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4975 4976 4977 4978

**示例:**

```js
Z
zhengjiangliang 已提交
4979 4980 4981 4982 4983 4984
windowClass.destroy((err) => {
    if (err.code) {
        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in destroying the window.');
Z
zhengjiangliang 已提交
4985
});
4986 4987
```

Z
zhengjiangliang 已提交
4988
### destroy<sup>(deprecated)</sup>
4989

Z
zhengjiangliang 已提交
4990
destroy(): Promise&lt;void&gt;
4991

Z
zhengjiangliang 已提交
4992
销毁当前窗口,使用Promise异步回调。
4993

Z
zhengjiangliang 已提交
4994
> **说明:**
C
chyyy0213 已提交
4995
>
Z
zhengjiangliang 已提交
4996
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9-1)。
4997

Z
zhengjiangliang 已提交
4998
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4999 5000 5001

**返回值:**

Z
zhengjiangliang 已提交
5002 5003
| 类型                | 说明                      |
| ------------------- | ------------------------- |
5004 5005 5006 5007 5008
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
Z
zhengjiangliang 已提交
5009 5010 5011 5012 5013
let promise = windowClass.destroy();
promise.then(()=> {
    console.info('Succeeded in destroying the window.');
}).catch((err)=>{
    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
5014
});
5015 5016
```

Z
zhengjiangliang 已提交
5017
### moveTo<sup>(deprecated)</sup>
Z
zengyawen 已提交
5018

Z
zhengjiangliang 已提交
5019
moveTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
5020

Z
zhengjiangliang 已提交
5021
移动窗口位置,使用callback异步回调。
Z
zengyawen 已提交
5022

5023 5024
全屏模式窗口不支持该操作。

5025
> **说明:**
C
chyyy0213 已提交
5026
>
Z
zhengjiangliang 已提交
5027
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9)。
5028

G
ge-yafang 已提交
5029
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
5030

L
leafly2021 已提交
5031
**参数:**
C
chyyy0213 已提交
5032

Z
zhengjiangliang 已提交
5033 5034 5035 5036 5037
| 参数名   | 类型                      | 必填 | 说明                                              |
| -------- | ------------------------- | ---- | ------------------------------------------------- |
| x        | number                    | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y        | number                    | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                        |
Z
zengyawen 已提交
5038

L
leafly2021 已提交
5039
**示例:**
C
chyyy0213 已提交
5040

G
ge-yafang 已提交
5041
```js
Z
zhengjiangliang 已提交
5042
windowClass.moveTo(300, 300, (err)=>{
G
ge-yafang 已提交
5043
    if (err.code) {
Z
zhengjiangliang 已提交
5044
        console.error('Failed to move the window. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
5045 5046
        return;
    }
Z
zhengjiangliang 已提交
5047 5048
    console.info('Succeeded in moving the window.');
});
G
ge-yafang 已提交
5049
```
Z
zengyawen 已提交
5050

Z
zhengjiangliang 已提交
5051
### moveTo<sup>(deprecated)</sup>
C
chyyy0213 已提交
5052

Z
zhengjiangliang 已提交
5053
moveTo(x: number, y: number): Promise&lt;void&gt;
C
chyyy0213 已提交
5054

Z
zhengjiangliang 已提交
5055
移动窗口位置,使用Promise异步回调。
C
chyyy0213 已提交
5056

5057 5058
全屏模式窗口不支持该操作。

5059
> **说明:**
C
chyyy0213 已提交
5060
>
Z
zhengjiangliang 已提交
5061
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9-1)。
5062

G
ge-yafang 已提交
5063
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5064

Z
zhengjiangliang 已提交
5065
**参数:**
5066

Z
zhengjiangliang 已提交
5067 5068 5069 5070
| 参数名 | 类型   | 必填 | 说明                                              |
| ------ | ------ | ---- | ------------------------------------------------- |
| x      | number | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y      | number | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
5071 5072 5073

**返回值:**

Z
zhengjiangliang 已提交
5074 5075 5076
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5077 5078 5079 5080

**示例:**

```js
Z
zhengjiangliang 已提交
5081 5082 5083 5084 5085
let promise = windowClass.moveTo(300, 300);
promise.then(()=> {
    console.info('Succeeded in moving the window.');
}).catch((err)=>{
    console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
Z
zhengjiangliang 已提交
5086
});
5087 5088
```

Z
zhengjiangliang 已提交
5089
### resetSize<sup>(deprecated)</sup>
C
chyyy0213 已提交
5090

Z
zhengjiangliang 已提交
5091
resetSize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
5092

Z
zhengjiangliang 已提交
5093
改变当前窗口大小,使用callback异步回调。
C
chyyy0213 已提交
5094

L
leafly2021 已提交
5095 5096 5097 5098 5099 5100
应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。

系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。

设置的宽度与高度受到此约束限制。

5101 5102
全屏模式窗口不支持该操作。

5103
> **说明:**
C
chyyy0213 已提交
5104
>
Z
zhengjiangliang 已提交
5105
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9)。
5106

G
ge-yafang 已提交
5107
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5108

L
leafly2021 已提交
5109
**参数:**
C
chyyy0213 已提交
5110

Z
zhengjiangliang 已提交
5111 5112 5113 5114 5115
| 参数名   | 类型                      | 必填 | 说明                       |
| -------- | ------------------------- | ---- | -------------------------- |
| width    | number                    | 是   | 目标窗口的宽度,单位为px。 |
| height   | number                    | 是   | 目标窗口的高度,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                 |
C
chyyy0213 已提交
5116

L
leafly2021 已提交
5117
**示例:**
C
chyyy0213 已提交
5118

G
ge-yafang 已提交
5119
```js
Z
zhengjiangliang 已提交
5120
windowClass.resetSize(500, 1000, (err) => {
G
ge-yafang 已提交
5121
    if (err.code) {
Z
zhengjiangliang 已提交
5122
        console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
5123 5124
        return;
    }
Z
zhengjiangliang 已提交
5125
    console.info('Succeeded in changing the window size.');
G
ge-yafang 已提交
5126 5127
});
```
C
chyyy0213 已提交
5128

Z
zhengjiangliang 已提交
5129
### resetSize<sup>(deprecated)</sup>
C
chyyy0213 已提交
5130

Z
zhengjiangliang 已提交
5131
resetSize(width: number, height: number): Promise&lt;void&gt;
C
chyyy0213 已提交
5132

Z
zhengjiangliang 已提交
5133
改变当前窗口大小,使用Promise异步回调。
C
chyyy0213 已提交
5134

L
leafly2021 已提交
5135 5136 5137 5138 5139 5140
应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。

系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。

设置的宽度与高度受到此约束限制。

5141 5142
全屏模式窗口不支持该操作。

5143
> **说明:**
C
chyyy0213 已提交
5144
>
Z
zhengjiangliang 已提交
5145
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9-1)。
5146

G
ge-yafang 已提交
5147
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5148

L
leafly2021 已提交
5149
**参数:**
C
chyyy0213 已提交
5150

Z
zhengjiangliang 已提交
5151 5152 5153 5154
| 参数名 | 类型   | 必填 | 说明                       |
| ------ | ------ | ---- | -------------------------- |
| width  | number | 是   | 目标窗口的宽度,单位为px。 |
| height | number | 是   | 目标窗口的高度,单位为px。 |
C
chyyy0213 已提交
5155

L
leafly2021 已提交
5156
**返回值:**
C
chyyy0213 已提交
5157

G
ge-yafang 已提交
5158 5159 5160
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
5161

L
leafly2021 已提交
5162
**示例:**
C
chyyy0213 已提交
5163

G
ge-yafang 已提交
5164
```js
Z
zhengjiangliang 已提交
5165 5166 5167
let promise = windowClass.resetSize(500, 1000);
promise.then(()=> {
    console.info('Succeeded in changing the window size.');
G
ge-yafang 已提交
5168
}).catch((err)=>{
Z
zhengjiangliang 已提交
5169
    console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5170 5171
});
```
C
chyyy0213 已提交
5172

Z
zhengjiangliang 已提交
5173
### setWindowType<sup>(deprecated)</sup>
5174

Z
zhengjiangliang 已提交
5175
setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void
5176

Z
zhengjiangliang 已提交
5177 5178 5179 5180 5181
设置窗口类型,使用callback异步回调。

**系统接口:** 此接口为系统接口。

> **说明:**
C
chyyy0213 已提交
5182
>
Z
zhengjiangliang 已提交
5183
> 从 API version 7开始支持,从API version 9开始废弃。
5184 5185 5186

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
5187
**参数:**
5188

Z
zhengjiangliang 已提交
5189 5190 5191 5192
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| type     | [WindowType](#windowtype7) | 是   | 窗口类型。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
5193

L
leafly2021 已提交
5194
**示例:**
5195

5196
```js
Z
zhengjiangliang 已提交
5197 5198 5199 5200 5201 5202 5203 5204
let type = window.WindowType.TYPE_APP;
windowClass.setWindowType(type, (err) => {
  if (err.code) {
      console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
      return;
  }
  console.info('Succeeded in setting the window type.');
});
5205 5206
```

Z
zhengjiangliang 已提交
5207
### setWindowType<sup>(deprecated)</sup>
C
chyyy0213 已提交
5208

Z
zhengjiangliang 已提交
5209
setWindowType(type: WindowType): Promise&lt;void&gt;
C
chyyy0213 已提交
5210

Z
zhengjiangliang 已提交
5211 5212 5213
设置窗口类型,使用Promise异步回调。

**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
5214

5215
> **说明:**
C
chyyy0213 已提交
5216
>
Z
zhengjiangliang 已提交
5217
> 从 API version 7开始支持,从API version 9开始废弃。
5218

G
ge-yafang 已提交
5219
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5220

L
leafly2021 已提交
5221
**参数:**
C
chyyy0213 已提交
5222

Z
zhengjiangliang 已提交
5223 5224 5225 5226 5227 5228 5229 5230 5231
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
5232

L
leafly2021 已提交
5233
**示例:**
C
chyyy0213 已提交
5234

G
ge-yafang 已提交
5235
```js
Z
zhengjiangliang 已提交
5236 5237 5238 5239 5240 5241
let type = window.WindowType.TYPE_APP;
let promise = windowClass.setWindowType(type);
promise.then(()=> {
    console.info('Succeeded in setting the window type.');
}).catch((err)=>{
    console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5242 5243
});
```
C
chyyy0213 已提交
5244

Z
zhengjiangliang 已提交
5245
### getProperties<sup>(deprecated)</sup>
C
chyyy0213 已提交
5246

Z
zhengjiangliang 已提交
5247
getProperties(callback: AsyncCallback&lt;WindowProperties&gt;): void
C
chyyy0213 已提交
5248

Z
zhengjiangliang 已提交
5249
获取当前窗口的属性,使用callback异步回调,返回WindowProperties。
C
chyyy0213 已提交
5250

5251
> **说明:**
C
chyyy0213 已提交
5252
>
Z
zhengjiangliang 已提交
5253
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。
5254

G
ge-yafang 已提交
5255
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5256

L
leafly2021 已提交
5257
**参数:**
C
chyyy0213 已提交
5258

Z
zhengjiangliang 已提交
5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281
| 参数名   | 类型                                                       | 必填 | 说明                         |
| -------- | ---------------------------------------------------------- | ---- | ---------------------------- |
| callback | AsyncCallback&lt;[WindowProperties](#windowproperties)&gt; | 是   | 回调函数。返回当前窗口属性。 |

**示例:**

```js
windowClass.getProperties((err, data) => {
    if (err.code) {
        console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
});
```

### getProperties<sup>(deprecated)</sup>

getProperties(): Promise&lt;WindowProperties&gt;

获取当前窗口的属性,使用Promise异步回调,返回WindowProperties。

> **说明:**
C
chyyy0213 已提交
5282
>
Z
zhengjiangliang 已提交
5283 5284 5285
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5286

L
leafly2021 已提交
5287
**返回值:**
C
chyyy0213 已提交
5288

Z
zhengjiangliang 已提交
5289 5290 5291
| 类型                                                 | 说明                            |
| ---------------------------------------------------- | ------------------------------- |
| Promise&lt;[WindowProperties](#windowproperties)&gt; | Promise对象。返回当前窗口属性。 |
C
chyyy0213 已提交
5292

L
leafly2021 已提交
5293
**示例:**
C
chyyy0213 已提交
5294

G
ge-yafang 已提交
5295
```js
Z
zhengjiangliang 已提交
5296
let promise = windowClass.getProperties();
G
ge-yafang 已提交
5297
promise.then((data)=> {
Z
zhengjiangliang 已提交
5298
    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
5299
}).catch((err)=>{
Z
zhengjiangliang 已提交
5300
    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5301 5302
});
```
C
chyyy0213 已提交
5303

Z
zhengjiangliang 已提交
5304
### getAvoidArea<sup>(deprecated)</sup>
5305

Z
zhengjiangliang 已提交
5306
getAvoidArea(type: [AvoidAreaType](#avoidareatype7), callback: AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt;): void
5307

L
leafly2021 已提交
5308
获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
Z
zhengjiangliang 已提交
5309 5310

> **说明:**
C
chyyy0213 已提交
5311
>
Z
zhengjiangliang 已提交
5312
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。
5313 5314 5315 5316 5317

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5318 5319
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- |-----------------------------------------------| ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
5320
| type     | [AvoidAreaType](#avoidareatype7)              | 是   | 表示规避区类型。|
Z
zhengjiangliang 已提交
5321
| callback | AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回窗口内容规避区域。                             |
5322 5323 5324 5325

**示例:**

```js
Z
zhengjiangliang 已提交
5326 5327 5328 5329 5330 5331 5332 5333
let type = window.AvoidAreaType.TYPE_SYSTEM;
windowClass.getAvoidArea(type, (err, data) => {
    if (err.code) {
        console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
});
5334 5335
```

Z
zhengjiangliang 已提交
5336
### getAvoidArea<sup>(deprecated)</sup>
5337

Z
zhengjiangliang 已提交
5338
getAvoidArea(type: [AvoidAreaType](#avoidareatype7)): Promise&lt;[AvoidArea](#avoidarea7)&gt;
5339

L
leafly2021 已提交
5340
获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
Z
zhengjiangliang 已提交
5341 5342

> **说明:**
C
chyyy0213 已提交
5343
>
L
leafly2021 已提交
5344
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。
5345 5346 5347 5348 5349

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5350 5351
| 参数名 | 类型                               | 必填 | 说明                                                         |
| ------ |----------------------------------| ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
5352
| type   | [AvoidAreaType](#avoidareatype7) | 是   | 表示规避区类型。 |
5353 5354 5355

**返回值:**

Z
zhengjiangliang 已提交
5356 5357 5358
| 类型                                      | 说明                                |
|-----------------------------------------| ----------------------------------- |
| Promise&lt;[AvoidArea](#avoidarea7)&gt; | Promise对象。返回窗口内容规避区域。 |
5359 5360 5361 5362

**示例:**

```js
Z
zhengjiangliang 已提交
5363 5364 5365 5366 5367 5368 5369
let type = window.AvoidAreaType.TYPE_SYSTEM;
let promise = windowClass.getAvoidArea(type);
promise.then((data)=> {
    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
});
5370 5371
```

Z
zhengjiangliang 已提交
5372
### setFullScreen<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
5373

Z
zhengjiangliang 已提交
5374
setFullScreen(isFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
Z
xxx  
zhirong 已提交
5375

Z
zhengjiangliang 已提交
5376
设置是否为全屏状态,使用callback异步回调。
Z
xxx  
zhirong 已提交
5377

Z
zhengjiangliang 已提交
5378
> **说明:**
C
chyyy0213 已提交
5379
>
Z
zhengjiangliang 已提交
5380
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。
Z
xxx  
zhirong 已提交
5381 5382 5383 5384 5385

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5386 5387
| 参数名       | 类型                      | 必填 | 说明                                           |
| ------------ | ------------------------- | ---- | ---------------------------------------------- |
Z
z00514981 已提交
5388
| isFullScreen | boolean                   | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
Z
zhengjiangliang 已提交
5389
| callback     | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                     |
Z
xxx  
zhirong 已提交
5390 5391 5392

**示例:**

G
ge-yafang 已提交
5393
```js
Z
zhengjiangliang 已提交
5394 5395
let isFullScreen = true;
windowClass.setFullScreen(isFullScreen, (err) => {
G
ge-yafang 已提交
5396
    if (err.code) {
Z
zhengjiangliang 已提交
5397
        console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5398 5399
        return;
    }
Z
zhengjiangliang 已提交
5400
    console.info('Succeeded in enabling the full-screen mode.');
G
ge-yafang 已提交
5401 5402
});
```
Z
xxx  
zhirong 已提交
5403

Z
zhengjiangliang 已提交
5404
### setFullScreen<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
5405

Z
zhengjiangliang 已提交
5406
setFullScreen(isFullScreen: boolean): Promise&lt;void&gt;
Z
xxx  
zhirong 已提交
5407

Z
zhengjiangliang 已提交
5408
设置是否为全屏状态,使用Promise异步回调。
Z
xxx  
zhirong 已提交
5409

Z
zhengjiangliang 已提交
5410
> **说明:**
C
chyyy0213 已提交
5411
>
Z
zhengjiangliang 已提交
5412
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。
Z
xxx  
zhirong 已提交
5413 5414 5415 5416 5417

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5418 5419 5420
| 参数名       | 类型    | 必填 | 说明                                           |
| ------------ | ------- | ---- | ---------------------------------------------- |
| isFullScreen | boolean | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
Z
xxx  
zhirong 已提交
5421 5422 5423

**返回值:**

G
ge-yafang 已提交
5424 5425 5426
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
xxx  
zhirong 已提交
5427 5428 5429

**示例:**

G
ge-yafang 已提交
5430
```js
Z
zhengjiangliang 已提交
5431 5432 5433 5434
let isFullScreen = true;
let promise = windowClass.setFullScreen(isFullScreen);
promise.then(()=> {
    console.info('Succeeded in enabling the full-screen mode.');
G
ge-yafang 已提交
5435
}).catch((err)=>{
Z
zhengjiangliang 已提交
5436
    console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5437 5438
});
```
Z
xxx  
zhirong 已提交
5439

Z
zhengjiangliang 已提交
5440
### setLayoutFullScreen<sup>(deprecated)</sup>
C
chyyy0213 已提交
5441

Z
zhengjiangliang 已提交
5442
setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
5443

Z
z00514981 已提交
5444 5445 5446
设置窗口的布局是否为沉浸式布局,使用callback异步回调。
沉浸式布局是指布局不避让状态栏与导航栏,组件可能产生与其重叠的情况。
非沉浸式布局是指布局避让状态栏与导航栏,组件不会与其重叠。
C
chyyy0213 已提交
5447

5448
> **说明:**
C
chyyy0213 已提交
5449
>
Z
zhengjiangliang 已提交
5450
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9)。
5451

G
ge-yafang 已提交
5452
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5453

L
leafly2021 已提交
5454
**参数:**
C
chyyy0213 已提交
5455

Z
zhengjiangliang 已提交
5456 5457
| 参数名             | 类型                      | 必填 | 说明                                                         |
| ------------------ | ------------------------- | ---- | ------------------------------------------------------------ |
Z
z00514981 已提交
5458
| isLayoutFullScreen | boolean                   | 是   | 窗口的布局是否为沉浸式布局(该沉浸式布局状态栏、导航栏仍然显示)。true表示沉浸式布局;false表示非沉浸式布局。 |
Z
zhengjiangliang 已提交
5459
| callback           | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
C
chyyy0213 已提交
5460

L
leafly2021 已提交
5461
**示例:**
C
chyyy0213 已提交
5462

G
ge-yafang 已提交
5463
```js
Z
zhengjiangliang 已提交
5464 5465
let isLayoutFullScreen= true;
windowClass.setLayoutFullScreen(isLayoutFullScreen, (err) => {
G
ge-yafang 已提交
5466
    if (err.code) {
Z
zhengjiangliang 已提交
5467
        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
5468 5469
        return;
    }
Z
zhengjiangliang 已提交
5470
    console.info('Succeeded in setting the window layout to full-screen mode.');
G
ge-yafang 已提交
5471 5472
});
```
C
chyyy0213 已提交
5473

Z
zhengjiangliang 已提交
5474
### setLayoutFullScreen<sup>(deprecated)</sup>
C
chyyy0213 已提交
5475

Z
zhengjiangliang 已提交
5476
setLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
C
chyyy0213 已提交
5477

Z
z00514981 已提交
5478 5479 5480
设置窗口的布局是否为沉浸式布局,使用Promise异步回调。
沉浸式布局是指布局不避让状态栏与导航栏,组件可能产生与其重叠的情况。
非沉浸式布局是指布局避让状态栏与导航栏,组件不会与其重叠。
C
chyyy0213 已提交
5481

5482
> **说明:**
C
chyyy0213 已提交
5483
>
Z
zhengjiangliang 已提交
5484
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9-1)。
5485

G
ge-yafang 已提交
5486
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5487

L
leafly2021 已提交
5488
**参数:**
C
chyyy0213 已提交
5489

Z
zhengjiangliang 已提交
5490 5491
| 参数名             | 类型    | 必填 | 说明                                                         |
| ------------------ | ------- | ---- | ------------------------------------------------------------ |
Z
z00514981 已提交
5492
| isLayoutFullScreen | boolean | 是   | 窗口的布局是否为沉浸式布局(该沉浸式布局状态栏、导航栏仍然显示)。true表示沉浸式布局;false表示非沉浸式布局。 |
C
chyyy0213 已提交
5493

L
leafly2021 已提交
5494
**返回值:**
C
chyyy0213 已提交
5495

G
ge-yafang 已提交
5496 5497 5498
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
5499

L
leafly2021 已提交
5500
**示例:**
C
chyyy0213 已提交
5501

G
ge-yafang 已提交
5502
```js
Z
zhengjiangliang 已提交
5503 5504 5505 5506
let isLayoutFullScreen = true;
let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
promise.then(()=> {
    console.info('Succeeded in setting the window layout to full-screen mode.');
G
ge-yafang 已提交
5507
}).catch((err)=>{
Z
zhengjiangliang 已提交
5508
    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
5509 5510
});
```
C
chyyy0213 已提交
5511

Z
zhengjiangliang 已提交
5512
### setSystemBarEnable<sup>(deprecated)</sup>
5513

Z
zhengjiangliang 已提交
5514
setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void
5515

Z
zhengjiangliang 已提交
5516 5517 5518
设置导航栏、状态栏的可见模式,使用callback异步回调。

> **说明:**
C
chyyy0213 已提交
5519
>
Z
zhengjiangliang 已提交
5520
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。
5521 5522 5523 5524 5525

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5526
| 参数名   | 类型                      | 必填 | 说明                                                         |
Z
zhengjiangliang 已提交
5527
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
5528
| names    | Array<'status'\|'navigation'> | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
Z
zhengjiangliang 已提交
5529
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
5530 5531 5532 5533

**示例:**

```js
Z
zhengjiangliang 已提交
5534 5535 5536 5537 5538 5539 5540 5541 5542
// 此处以不显示导航栏、状态栏为例
let names = [];
windowClass.setSystemBarEnable(names, (err) => {
    if (err.code) {
        console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the system bar to be invisible.');
});
5543 5544
```

Z
zhengjiangliang 已提交
5545
### setSystemBarEnable<sup>(deprecated)</sup>
5546

Z
zhengjiangliang 已提交
5547
setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
5548

Z
zhengjiangliang 已提交
5549 5550 5551
设置导航栏、状态栏的可见模式,使用Promise异步回调。

> **说明:**
C
chyyy0213 已提交
5552
>
Z
zhengjiangliang 已提交
5553
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。
5554 5555 5556 5557 5558

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5559
| 参数名 | 类型  | 必填 | 说明                                                         |
Z
zhengjiangliang 已提交
5560
| ------ | ---------------------------- | ---- | ------------------------ |
5561
| names  | Array<'status'\|'navigation'> | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
5562 5563 5564

**返回值:**

Z
zhengjiangliang 已提交
5565 5566
| 类型                | 说明                      |
| ------------------- | ------------------------- |
5567 5568 5569 5570 5571
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
Z
zhengjiangliang 已提交
5572 5573 5574 5575 5576 5577 5578 5579
// 此处以不显示导航栏、状态栏为例
let names = [];
let promise = windowClass.setSystemBarEnable(names);
promise.then(()=> {
    console.info('Succeeded in setting the system bar to be invisible.');
}).catch((err)=>{
    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
});
5580 5581
```

Z
zhengjiangliang 已提交
5582
### setSystemBarProperties<sup>(deprecated)</sup>
C
chyyy0213 已提交
5583

Z
zhengjiangliang 已提交
5584
setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
5585

Z
zhengjiangliang 已提交
5586
设置窗口内导航栏、状态栏的属性,使用callback异步回调。
C
chyyy0213 已提交
5587

5588
> **说明:**
C
chyyy0213 已提交
5589
>
Z
zhengjiangliang 已提交
5590
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9)。
5591

G
ge-yafang 已提交
5592
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5593

L
leafly2021 已提交
5594
**参数:**
C
chyyy0213 已提交
5595

Z
zhengjiangliang 已提交
5596 5597 5598 5599
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
C
chyyy0213 已提交
5600

L
leafly2021 已提交
5601
**示例:**
C
chyyy0213 已提交
5602

G
ge-yafang 已提交
5603
```js
Z
zhengjiangliang 已提交
5604 5605 5606 5607 5608 5609 5610 5611
let SystemBarProperties={
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
windowClass.setSystemBarProperties(SystemBarProperties, (err) => {
G
ge-yafang 已提交
5612
    if (err.code) {
Z
zhengjiangliang 已提交
5613
        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5614 5615
        return;
    }
Z
zhengjiangliang 已提交
5616
    console.info('Succeeded in setting the system bar properties.');
G
ge-yafang 已提交
5617 5618
});
```
Z
xxx  
zhirong 已提交
5619

Z
zhengjiangliang 已提交
5620
### setSystemBarProperties<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
5621

Z
zhengjiangliang 已提交
5622
setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;
Z
xxx  
zhirong 已提交
5623

Z
zhengjiangliang 已提交
5624
设置窗口内导航栏、状态栏的属性,使用Promise异步回调。
Z
xxx  
zhirong 已提交
5625

5626
> **说明:**
C
chyyy0213 已提交
5627
>
Z
zhengjiangliang 已提交
5628
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9-1)。
5629

Z
xxx  
zhirong 已提交
5630 5631
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
5632
**参数:**
G
ge-yafang 已提交
5633

Z
zhengjiangliang 已提交
5634 5635 5636
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
G
ge-yafang 已提交
5637

L
leafly2021 已提交
5638
**返回值:**
Z
xxx  
zhirong 已提交
5639

G
ge-yafang 已提交
5640 5641 5642
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
xxx  
zhirong 已提交
5643 5644 5645

**示例:**

G
ge-yafang 已提交
5646
```js
Z
zhengjiangliang 已提交
5647 5648 5649 5650 5651 5652 5653 5654 5655 5656
let SystemBarProperties={
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
let promise = windowClass.setSystemBarProperties(SystemBarProperties);
promise.then(()=> {
    console.info('Succeeded in setting the system bar properties.');
G
ge-yafang 已提交
5657
}).catch((err)=>{
Z
zhengjiangliang 已提交
5658
    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5659 5660
});
```
Z
xxx  
zhirong 已提交
5661

Z
zhengjiangliang 已提交
5662
### loadContent<sup>(deprecated)</sup>
5663

Z
zhengjiangliang 已提交
5664
loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
5665

Z
zhengjiangliang 已提交
5666 5667 5668
为当前窗口加载具体页面内容,使用callback异步回调。

> **说明:**
C
chyyy0213 已提交
5669
>
Z
zhengjiangliang 已提交
5670
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9)。
5671 5672 5673 5674 5675

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5676 5677 5678 5679
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| path     | string                    | 是   | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5680 5681 5682 5683

**示例:**

```js
Z
zhengjiangliang 已提交
5684 5685 5686 5687 5688 5689 5690
windowClass.loadContent('pages/page2/page2', (err) => {
   if (err.code) {
         console.error('Failed to load the content. Cause:' + JSON.stringify(err));
         return;
   }
  console.info('Succeeded in loading the content.');
});
5691 5692
```

Z
zhengjiangliang 已提交
5693
### loadContent<sup>(deprecated)</sup>
5694

Z
zhengjiangliang 已提交
5695
loadContent(path: string): Promise&lt;void&gt;
5696

Z
zhengjiangliang 已提交
5697 5698 5699
为当前窗口加载具体页面内容,使用Promise异步回调。

> **说明:**
C
chyyy0213 已提交
5700
>
Z
zhengjiangliang 已提交
5701
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9-1)。
5702 5703 5704 5705 5706

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5707 5708 5709
| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| path   | string | 是   | 设置加载页面的路径。 |
5710 5711 5712

**返回值:**

Z
zhengjiangliang 已提交
5713 5714
| 类型                | 说明                      |
| ------------------- | ------------------------- |
5715 5716 5717 5718 5719
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
Z
zhengjiangliang 已提交
5720 5721 5722 5723 5724 5725
let promise = windowClass.loadContent('pages/page2/page2');
promise.then(()=> {
    console.info('Succeeded in loading the content.');
}).catch((err)=>{
    console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
});
5726 5727
```

Z
zhengjiangliang 已提交
5728
### isShowing<sup>(deprecated)</sup>
5729

Z
zhengjiangliang 已提交
5730
isShowing(callback: AsyncCallback&lt;boolean&gt;): void
5731

Z
zhengjiangliang 已提交
5732
判断当前窗口是否已显示,使用callback异步回调。
5733

Z
zhengjiangliang 已提交
5734
> **说明:**
C
chyyy0213 已提交
5735
>
Z
zhengjiangliang 已提交
5736
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。
5737 5738 5739 5740 5741

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5742 5743 5744
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口已显示,返回false表示当前窗口未显示。 |
5745 5746 5747 5748

**示例:**

```js
Z
zhengjiangliang 已提交
5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764
windowClass.isShowing((err, data) => {
    if (err.code) {
        console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
});
```

### isShowing<sup>(deprecated)</sup>

isShowing(): Promise&lt;boolean&gt;

判断当前窗口是否已显示,使用Promise异步回调。

> **说明:**
C
chyyy0213 已提交
5765
>
Z
zhengjiangliang 已提交
5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口已显示,返回false表示当前窗口未显示。 |

**示例:**

```js
let promise = windowClass.isShowing();
promise.then((data)=> {
    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
});
5785 5786
```

Z
zhengjiangliang 已提交
5787
### on('systemAvoidAreaChange')<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
5788

Z
zhengjiangliang 已提交
5789
on(type: 'systemAvoidAreaChange', callback: Callback&lt;AvoidArea&gt;): void
Z
xxx  
zhirong 已提交
5790

Z
zhengjiangliang 已提交
5791
开启系统规避区变化的监听。
Z
xxx  
zhirong 已提交
5792

Z
zhengjiangliang 已提交
5793
> **说明:**
C
chyyy0213 已提交
5794
>
Z
zhengjiangliang 已提交
5795
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[on('avoidAreaChange')](#onavoidareachange9)。
Z
xxx  
zhirong 已提交
5796 5797 5798 5799 5800

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5801 5802 5803 5804
| 参数名   | 类型                                       | 必填 | 说明                                                    |
| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回当前规避区。                             |
Z
xxx  
zhirong 已提交
5805 5806 5807

**示例:**

G
ge-yafang 已提交
5808
```js
Z
zhengjiangliang 已提交
5809 5810 5811
windowClass.on('systemAvoidAreaChange', (data) => {
    console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
});
G
ge-yafang 已提交
5812
```
Z
xxx  
zhirong 已提交
5813

Z
zhengjiangliang 已提交
5814
### off('systemAvoidAreaChange')<sup>(deprecated)</sup>
C
chyyy0213 已提交
5815

Z
zhengjiangliang 已提交
5816
off(type: 'systemAvoidAreaChange', callback?: Callback&lt;AvoidArea&gt;): void
C
chyyy0213 已提交
5817

Z
zhengjiangliang 已提交
5818
关闭系统规避区变化的监听。
G
ge-yafang 已提交
5819

Z
zhengjiangliang 已提交
5820
> **说明:**
C
chyyy0213 已提交
5821
>
Z
zhengjiangliang 已提交
5822
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[off('avoidAreaChange')](#offavoidareachange9)。
C
chyyy0213 已提交
5823

G
ge-yafang 已提交
5824
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5825

G
ge-yafang 已提交
5826
**参数:**
C
chyyy0213 已提交
5827

Z
zhengjiangliang 已提交
5828 5829 5830 5831
| 参数名   | 类型                                       | 必填 | 说明                                                    |
| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 否   | 回调函数。返回当前规避区。                            |
C
chyyy0213 已提交
5832

G
ge-yafang 已提交
5833
**示例:**
C
chyyy0213 已提交
5834

G
ge-yafang 已提交
5835
```js
Z
zhengjiangliang 已提交
5836
windowClass.off('systemAvoidAreaChange');
G
ge-yafang 已提交
5837
```
C
chyyy0213 已提交
5838

Z
zhengjiangliang 已提交
5839
### isSupportWideGamut<sup>(deprecated)</sup>
C
chyyy0213 已提交
5840

Z
zhengjiangliang 已提交
5841
isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
C
chyyy0213 已提交
5842

Z
zhengjiangliang 已提交
5843
判断当前窗口是否支持广色域模式,使用callback异步回调。
C
chyyy0213 已提交
5844

5845
> **说明:**
C
chyyy0213 已提交
5846
>
Z
zhengjiangliang 已提交
5847
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9)。
5848

G
ge-yafang 已提交
5849
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5850

L
leafly2021 已提交
5851
**参数:**
C
chyyy0213 已提交
5852

Z
zhengjiangliang 已提交
5853 5854 5855
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
C
chyyy0213 已提交
5856

L
leafly2021 已提交
5857
**示例:**
C
chyyy0213 已提交
5858

G
ge-yafang 已提交
5859
```js
Z
zhengjiangliang 已提交
5860
windowClass.isSupportWideGamut((err, data) => {
G
ge-yafang 已提交
5861
    if (err.code) {
Z
zhengjiangliang 已提交
5862
        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
5863 5864
        return;
    }
Z
zhengjiangliang 已提交
5865
    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
Z
zhengjiangliang 已提交
5866
});
G
ge-yafang 已提交
5867
```
C
chyyy0213 已提交
5868

Z
zhengjiangliang 已提交
5869
### isSupportWideGamut<sup>(deprecated)</sup>
C
chyyy0213 已提交
5870

Z
zhengjiangliang 已提交
5871
isSupportWideGamut(): Promise&lt;boolean&gt;
C
chyyy0213 已提交
5872

Z
zhengjiangliang 已提交
5873
判断当前窗口是否支持广色域模式,使用Promise异步回调。
C
chyyy0213 已提交
5874

5875
> **说明:**
C
chyyy0213 已提交
5876
>
Z
zhengjiangliang 已提交
5877
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9-1)。
5878

G
ge-yafang 已提交
5879
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5880

L
leafly2021 已提交
5881
**返回值:**
C
chyyy0213 已提交
5882

Z
zhengjiangliang 已提交
5883 5884 5885
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
C
chyyy0213 已提交
5886

L
leafly2021 已提交
5887
**示例:**
C
chyyy0213 已提交
5888

G
ge-yafang 已提交
5889
```js
Z
zhengjiangliang 已提交
5890
let promise = windowClass.isSupportWideGamut();
G
ge-yafang 已提交
5891
promise.then((data)=> {
Z
zhengjiangliang 已提交
5892
    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
5893
}).catch((err)=>{
Z
zhengjiangliang 已提交
5894
    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5895 5896
});
```
C
chyyy0213 已提交
5897

Z
zhengjiangliang 已提交
5898
### setColorSpace<sup>(deprecated)</sup>
5899

Z
zhengjiangliang 已提交
5900
setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
5901

Z
zhengjiangliang 已提交
5902 5903 5904
设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。

> **说明:**
C
chyyy0213 已提交
5905
>
Z
zhengjiangliang 已提交
5906
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9)。
5907 5908 5909 5910 5911

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
5912 5913
| 参数名     | 类型                      | 必填 | 说明         |
| ---------- | ------------------------- | ---- | ------------ |
G
ge-yafang 已提交
5914
| colorSpace | [ColorSpace](#colorspace8) | 是   | 设置色域模式。 |
Z
zhengjiangliang 已提交
5915
| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。   |
5916 5917 5918

**示例:**

5919
```js
Z
zhengjiangliang 已提交
5920 5921 5922 5923 5924 5925
windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
    if (err.code) {
        console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting window colorspace.');
Z
zhengjiangliang 已提交
5926
});
5927 5928
```

Z
zhengjiangliang 已提交
5929
### setColorSpace<sup>(deprecated)</sup>
C
chyyy0213 已提交
5930

Z
zhengjiangliang 已提交
5931
setColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
C
chyyy0213 已提交
5932

Z
zhengjiangliang 已提交
5933 5934 5935
设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。

> **说明:**
C
chyyy0213 已提交
5936
>
Z
zhengjiangliang 已提交
5937
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9-1)。
C
chyyy0213 已提交
5938

G
ge-yafang 已提交
5939
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
5940

L
leafly2021 已提交
5941
**参数:**
C
chyyy0213 已提交
5942

Z
zhengjiangliang 已提交
5943 5944
| 参数名     | 类型                      | 必填 | 说明           |
| ---------- | ------------------------- | ---- | -------------- |
G
ge-yafang 已提交
5945
| colorSpace | [ColorSpace](#colorspace8) | 是   | 设置色域模式。 |
5946 5947 5948

**返回值:**

Z
zhengjiangliang 已提交
5949 5950
| 类型                | 说明                      |
| ------------------- | ------------------------- |
5951
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
5952

L
leafly2021 已提交
5953
**示例:**
C
chyyy0213 已提交
5954

G
ge-yafang 已提交
5955
```js
Z
zhengjiangliang 已提交
5956 5957 5958 5959 5960 5961
let promise = windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT);
promise.then(()=> {
    console.info('Succeeded in setting window colorspace.');
}).catch((err)=>{
    console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
});
G
ge-yafang 已提交
5962
```
C
chyyy0213 已提交
5963

Z
zhengjiangliang 已提交
5964
### getColorSpace<sup>(deprecated)</sup>
W
wlj 已提交
5965

Z
zhengjiangliang 已提交
5966
getColorSpace(callback: AsyncCallback&lt;ColorSpace&gt;): void
W
wlj 已提交
5967

Z
zhengjiangliang 已提交
5968
获取当前窗口色域模式,使用callback异步回调。
W
wlj 已提交
5969

5970
> **说明:**
C
chyyy0213 已提交
5971
>
Z
zhengjiangliang 已提交
5972
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
W
wlj 已提交
5973 5974 5975

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
5976
**参数:**
W
wlj 已提交
5977

Z
zhengjiangliang 已提交
5978 5979
| 参数名   | 类型                                           | 必填 | 说明                                                       |
| -------- | ---------------------------------------------- | ---- | ---------------------------------------------------------- |
G
ge-yafang 已提交
5980
| callback | AsyncCallback&lt;[ColorSpace](#colorspace8)&gt; | 是   | 回调函数。当获取成功,err为undefined,data为当前色域模式。 |
W
wlj 已提交
5981

L
leafly2021 已提交
5982
**示例:**
W
wlj 已提交
5983 5984

```js
Z
zhengjiangliang 已提交
5985
windowClass.getColorSpace((err, data) => {
W
wlj 已提交
5986
    if (err.code) {
Z
zhengjiangliang 已提交
5987
        console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err));
W
wlj 已提交
5988 5989
        return;
    }
Z
zhengjiangliang 已提交
5990
    console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data));
Z
zhengjiangliang 已提交
5991
});
W
wlj 已提交
5992 5993
```

Z
zhengjiangliang 已提交
5994
### getColorSpace<sup>(deprecated)</sup>
W
wlj 已提交
5995

Z
zhengjiangliang 已提交
5996
getColorSpace(): Promise&lt;ColorSpace&gt;
W
wlj 已提交
5997

Z
zhengjiangliang 已提交
5998
获取当前窗口色域模式,使用Promise异步回调。
W
wlj 已提交
5999

6000
> **说明:**
C
chyyy0213 已提交
6001
>
Z
zhengjiangliang 已提交
6002
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
W
wlj 已提交
6003 6004 6005

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
6006
**返回值:**
W
wlj 已提交
6007

Z
zhengjiangliang 已提交
6008 6009
| 类型                                     | 说明                            |
| ---------------------------------------- | ------------------------------- |
G
ge-yafang 已提交
6010
| Promise&lt;[ColorSpace](#colorspace8)&gt; | Promise对象。返回当前色域模式。 |
W
wlj 已提交
6011

L
leafly2021 已提交
6012
**示例:**
W
wlj 已提交
6013 6014

```js
Z
zhengjiangliang 已提交
6015
let promise = windowClass.getColorSpace();
W
wlj 已提交
6016
promise.then((data)=> {
Z
zhengjiangliang 已提交
6017
    console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data));
W
wlj 已提交
6018
}).catch((err)=>{
Z
zhengjiangliang 已提交
6019
    console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err));
W
wlj 已提交
6020 6021 6022
});
```

Z
zhengjiangliang 已提交
6023
### setBackgroundColor<sup>(deprecated)</sup>
6024

Z
zhengjiangliang 已提交
6025
setBackgroundColor(color: string, callback: AsyncCallback&lt;void&gt;): void
6026

6027
设置窗口的背景色,使用callback异步回调。Stage模型下,该接口需要在[loadContent()](#loadcontent9)[setUIContent()](#setuicontent9)调用生效后使用。
Z
zhengjiangliang 已提交
6028 6029

> **说明:**
C
chyyy0213 已提交
6030
>
Z
zhengjiangliang 已提交
6031
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
6032 6033 6034 6035

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**
Z
zhengjiangliang 已提交
6036 6037 6038

| 参数名   | 类型                      | 必填 | 说明                                                         |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
L
leafly2021 已提交
6039
| color    | string                    | 是   | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
Z
zhengjiangliang 已提交
6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |

**示例:**

```js
let color = '#00ff33';
windowClass.setBackgroundColor(color, (err) => {
    if (err.code) {
        console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the background color.');
});
6053 6054
```

Z
zhengjiangliang 已提交
6055
### setBackgroundColor<sup>(deprecated)</sup>
6056

Z
zhengjiangliang 已提交
6057
setBackgroundColor(color: string): Promise&lt;void&gt;
6058

6059
设置窗口的背景色,使用Promise异步回调。Stage模型下,该接口需要在[loadContent()](#loadcontent9)[setUIContent()](#setuicontent9)调用生效后使用。
Z
zhengjiangliang 已提交
6060 6061

> **说明:**
C
chyyy0213 已提交
6062
>
Z
zhengjiangliang 已提交
6063
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
6064 6065 6066

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

6067
**参数:**
Q
qianlf 已提交
6068

Z
zhengjiangliang 已提交
6069 6070
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
L
leafly2021 已提交
6071
| color  | string | 是   | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
Q
qianlf 已提交
6072

6073
**返回值:**
Q
qianlf 已提交
6074

Z
zhengjiangliang 已提交
6075
| 类型                | 说明                      |
6076 6077
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Q
qianlf 已提交
6078 6079 6080 6081

**示例:**

```js
Z
zhengjiangliang 已提交
6082 6083 6084 6085 6086 6087 6088
let color = '#00ff33';
let promise = windowClass.setBackgroundColor(color);
promise.then(()=> {
    console.info('Succeeded in setting the background color.');
}).catch((err)=>{
    console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
});
Q
qianlf 已提交
6089 6090
```

Z
zhengjiangliang 已提交
6091
### setBrightness<sup>(deprecated)</sup>
Q
qianlf 已提交
6092

Z
zhengjiangliang 已提交
6093
setBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void
Q
qianlf 已提交
6094

Z
zhengjiangliang 已提交
6095
设置屏幕亮度值,使用callback异步回调。
Q
qianlf 已提交
6096

Z
zhengjiangliang 已提交
6097
> **说明:**
C
chyyy0213 已提交
6098
>
Z
zhengjiangliang 已提交
6099
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9)。
Q
qianlf 已提交
6100 6101 6102

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
6103
**参数:**
Q
qianlf 已提交
6104

Z
zhengjiangliang 已提交
6105 6106 6107 6108
| 参数名     | 类型                      | 必填 | 说明                                 |
| ---------- | ------------------------- | ---- | ------------------------------------ |
| brightness | number                    | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。                           |
Q
qianlf 已提交
6109 6110 6111 6112

**示例:**

```js
Z
zhengjiangliang 已提交
6113 6114 6115 6116 6117 6118 6119 6120
let brightness = 1;
windowClass.setBrightness(brightness, (err) => {
    if (err.code) {
        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the brightness.');
});
Q
qianlf 已提交
6121 6122
```

Z
zhengjiangliang 已提交
6123
### setBrightness<sup>(deprecated)</sup>
Q
qianlf 已提交
6124

Z
zhengjiangliang 已提交
6125
setBrightness(brightness: number): Promise&lt;void&gt;
Q
qianlf 已提交
6126

Z
zhengjiangliang 已提交
6127
设置屏幕亮度值,使用Promise异步回调。
Q
qianlf 已提交
6128

Z
zhengjiangliang 已提交
6129
> **说明:**
C
chyyy0213 已提交
6130
>
Z
zhengjiangliang 已提交
6131
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9-1)。
Q
qianlf 已提交
6132 6133 6134

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
6135
**参数:**
Q
qianlf 已提交
6136

Z
zhengjiangliang 已提交
6137 6138 6139
| 参数名     | 类型   | 必填 | 说明                                 |
| ---------- | ------ | ---- | ------------------------------------ |
| brightness | number | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
6140 6141 6142 6143 6144 6145

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Q
qianlf 已提交
6146 6147 6148 6149

**示例:**

```js
Z
zhengjiangliang 已提交
6150 6151 6152 6153 6154 6155 6156
let brightness = 1;
let promise = windowClass.setBrightness(brightness);
promise.then(()=> {
    console.info('Succeeded in setting the brightness.');
}).catch((err)=>{
    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
});
Q
qianlf 已提交
6157 6158
```

Z
zhengjiangliang 已提交
6159
### setDimBehind<sup>(deprecated)</sup>
Q
qianlf 已提交
6160

Z
zhengjiangliang 已提交
6161
setDimBehind(dimBehindValue: number, callback: AsyncCallback&lt;void&gt;): void
Q
qianlf 已提交
6162

Z
zhengjiangliang 已提交
6163 6164 6165
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback异步回调。

> **说明:**
C
chyyy0213 已提交
6166
>
Z
zhengjiangliang 已提交
6167
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
Q
qianlf 已提交
6168 6169 6170

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
6171
**参数:**
Q
qianlf 已提交
6172

Z
zhengjiangliang 已提交
6173 6174 6175 6176
| 参数名         | 类型                      | 必填 | 说明                                               |
| -------------- | ------------------------- | ---- | -------------------------------------------------- |
| dimBehindValue | number                    | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                         |
Q
qianlf 已提交
6177 6178 6179 6180

**示例:**

```js
Z
zhengjiangliang 已提交
6181
windowClass.setDimBehind(0.5, (err) => {
6182
    if (err.code) {
Z
zhengjiangliang 已提交
6183
        console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
6184 6185
        return;
    }
Z
zhengjiangliang 已提交
6186
    console.info('Succeeded in setting the dimness.');
6187
});
Q
qianlf 已提交
6188 6189
```

Z
zhengjiangliang 已提交
6190
### setDimBehind<sup>(deprecated)</sup>
Q
qianlf 已提交
6191

Z
zhengjiangliang 已提交
6192
setDimBehind(dimBehindValue: number): Promise&lt;void&gt;
Q
qianlf 已提交
6193

Z
zhengjiangliang 已提交
6194 6195 6196
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise异步回调。

> **说明:**
C
chyyy0213 已提交
6197
>
Z
zhengjiangliang 已提交
6198
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
Q
qianlf 已提交
6199 6200 6201

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
6202 6203 6204 6205 6206 6207
**参数:**

| 参数名         | 类型   | 必填 | 说明                                               |
| -------------- | ------ | ---- | -------------------------------------------------- |
| dimBehindValue | number | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |

6208
**返回值:**
Q
qianlf 已提交
6209

6210 6211
| 类型                | 说明                      |
| ------------------- | ------------------------- |
Z
zhengjiangliang 已提交
6212
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Q
qianlf 已提交
6213 6214 6215 6216

**示例:**

```js
Z
zhengjiangliang 已提交
6217 6218 6219
let promise = windowClass.setDimBehind(0.5);
promise.then(()=> {
    console.info('Succeeded in setting the dimness.');
6220
}).catch((err)=>{
Z
zhengjiangliang 已提交
6221
    console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
6222
});
Q
qianlf 已提交
6223 6224
```

Z
zhengjiangliang 已提交
6225
### setFocusable<sup>(deprecated)</sup>
L
leafly2021 已提交
6226

Z
zhengjiangliang 已提交
6227
setFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
L
leafly2021 已提交
6228

Z
zhengjiangliang 已提交
6229
设置点击时是否支持切换焦点窗口,使用callback异步回调。
L
leafly2021 已提交
6230

Z
zhengjiangliang 已提交
6231
> **说明:**
C
chyyy0213 已提交
6232
>
Z
zhengjiangliang 已提交
6233
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9)。
L
leafly2021 已提交
6234 6235 6236 6237 6238

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
6239 6240 6241 6242
| 参数名      | 类型                      | 必填 | 说明                         |
| ----------- | ------------------------- | ---- | ---------------------------- |
| isFocusable | boolean                   | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。                   |
L
leafly2021 已提交
6243 6244 6245

**示例:**

6246
```js
Z
zhengjiangliang 已提交
6247 6248 6249 6250 6251 6252 6253 6254
let isFocusable= true;
windowClass.setFocusable(isFocusable, (err) => {
    if (err.code) {
        console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the window to be focusable.');
});
L
leafly2021 已提交
6255 6256
```

Z
zhengjiangliang 已提交
6257
### setFocusable<sup>(deprecated)</sup>
L
leafly2021 已提交
6258

Z
zhengjiangliang 已提交
6259
setFocusable(isFocusable: boolean): Promise&lt;void&gt;
L
leafly2021 已提交
6260

Z
zhengjiangliang 已提交
6261
设置点击时是否支持切换焦点窗口,使用Promise异步回调。
L
leafly2021 已提交
6262

Z
zhengjiangliang 已提交
6263
> **说明:**
C
chyyy0213 已提交
6264
>
Z
zhengjiangliang 已提交
6265
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9-1)。
L
leafly2021 已提交
6266 6267 6268 6269 6270

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
6271 6272 6273 6274 6275 6276 6277 6278 6279
| 参数名      | 类型    | 必填 | 说明                         |
| ----------- | ------- | ---- | ---------------------------- |
| isFocusable | boolean | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
leafly2021 已提交
6280 6281 6282

**示例:**

6283
```js
Z
zhengjiangliang 已提交
6284 6285 6286 6287 6288 6289 6290
let isFocusable= true;
let promise = windowClass.setFocusable(isFocusable);
promise.then(()=> {
    console.info('Succeeded in setting the window to be focusable.');
}).catch((err)=>{
    console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
});
L
leafly2021 已提交
6291 6292
```

Z
zhengjiangliang 已提交
6293
### setKeepScreenOn<sup>(deprecated)</sup>
L
leafly2021 已提交
6294

Z
zhengjiangliang 已提交
6295
setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
L
leafly2021 已提交
6296

Z
zhengjiangliang 已提交
6297
设置屏幕是否为常亮状态,使用callback异步回调。
L
leafly2021 已提交
6298

Z
zhengjiangliang 已提交
6299
> **说明:**
C
chyyy0213 已提交
6300
>
Z
zhengjiangliang 已提交
6301
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9)。
L
leafly2021 已提交
6302 6303 6304 6305 6306

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
6307 6308 6309 6310
| 参数名         | 类型                      | 必填 | 说明                     |
| -------------- | ------------------------- | ---- | ------------------------ |
| isKeepScreenOn | boolean                   | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。               |
L
leafly2021 已提交
6311 6312 6313

**示例:**

6314
```js
Z
zhengjiangliang 已提交
6315 6316 6317 6318 6319 6320 6321 6322
let isKeepScreenOn = true;
windowClass.setKeepScreenOn(isKeepScreenOn, (err) => {
    if (err.code) {
        console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the screen to be always on.');
});
L
leafly2021 已提交
6323 6324
```

Z
zhengjiangliang 已提交
6325
### setKeepScreenOn<sup>(deprecated)</sup>
L
leafly2021 已提交
6326

Z
zhengjiangliang 已提交
6327
setKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
L
leafly2021 已提交
6328

Z
zhengjiangliang 已提交
6329
设置屏幕是否为常亮状态,使用Promise异步回调。
L
leafly2021 已提交
6330

Z
zhengjiangliang 已提交
6331
> **说明:**
C
chyyy0213 已提交
6332
>
Z
zhengjiangliang 已提交
6333
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9-1)。
L
leafly2021 已提交
6334 6335 6336

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
6337 6338 6339 6340 6341 6342 6343
**参数:**

| 参数名         | 类型    | 必填 | 说明                     |
| -------------- | ------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |

**返回值:**
L
leafly2021 已提交
6344

Z
zhengjiangliang 已提交
6345 6346 6347
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
leafly2021 已提交
6348 6349 6350

**示例:**

6351
```js
Z
zhengjiangliang 已提交
6352 6353 6354 6355 6356 6357 6358
let isKeepScreenOn = true;
let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
promise.then(() => {
    console.info('Succeeded in setting the screen to be always on.');
}).catch((err)=>{
    console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err));
});
L
leafly2021 已提交
6359 6360
```

Z
zhengjiangliang 已提交
6361
### setOutsideTouchable<sup>(deprecated)</sup>
L
leafly2021 已提交
6362

Z
zhengjiangliang 已提交
6363
setOutsideTouchable(touchable: boolean, callback: AsyncCallback&lt;void&gt;): void
L
leafly2021 已提交
6364

Z
zhengjiangliang 已提交
6365
设置是否允许可点击子窗口之外的区域,使用callback异步回调。
L
leafly2021 已提交
6366

Z
zhengjiangliang 已提交
6367
> **说明:**
C
chyyy0213 已提交
6368
>
Z
zhengjiangliang 已提交
6369
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
L
leafly2021 已提交
6370 6371 6372

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
6373
**参数:**
L
leafly2021 已提交
6374

Z
zhengjiangliang 已提交
6375 6376 6377 6378
| 参数名    | 类型                      | 必填 | 说明             |
| --------- | ------------------------- | ---- | ---------------- |
| touchable | boolean                   | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |
| callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。       |
L
leafly2021 已提交
6379 6380 6381

**示例:**

6382
```js
Z
zhengjiangliang 已提交
6383
windowClass.setOutsideTouchable(true, (err) => {
L
leafly2021 已提交
6384
    if (err.code) {
Z
zhengjiangliang 已提交
6385
        console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
6386 6387
        return;
    }
Z
zhengjiangliang 已提交
6388
    console.info('Succeeded in setting the area to be touchable.');
Z
zhengjiangliang 已提交
6389
});
L
leafly2021 已提交
6390 6391
```

Z
zhengjiangliang 已提交
6392
### setOutsideTouchable<sup>(deprecated)</sup>
6393

Z
zhengjiangliang 已提交
6394
setOutsideTouchable(touchable: boolean): Promise&lt;void&gt;
6395

Z
zhengjiangliang 已提交
6396
设置是否允许可点击子窗口之外的区域,使用Promise异步回调。。
6397

Z
zhengjiangliang 已提交
6398
> **说明:**
C
chyyy0213 已提交
6399
>
Z
zhengjiangliang 已提交
6400
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
6401 6402 6403 6404 6405

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
6406 6407 6408 6409 6410 6411 6412 6413 6414
| 参数名    | 类型    | 必填 | 说明             |
| --------- | ------- | ---- | ---------------- |
| touchable | boolean | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
6415 6416 6417 6418

**示例:**

```js
Z
zhengjiangliang 已提交
6419 6420 6421 6422 6423 6424
let promise = windowClass.setOutsideTouchable(true);
promise.then(()=> {
    console.info('Succeeded in setting the area to be touchable.');
}).catch((err)=>{
    console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
});
6425 6426
```

Z
zhengjiangliang 已提交
6427
### setPrivacyMode<sup>(deprecated)</sup>
6428

Z
zhengjiangliang 已提交
6429
setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
6430

Z
zhengjiangliang 已提交
6431
设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
6432

Z
zhengjiangliang 已提交
6433
> **说明:**
C
chyyy0213 已提交
6434
>
Z
zhengjiangliang 已提交
6435
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9)。
6436 6437 6438 6439 6440

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
6441 6442 6443 6444
| 参数名        | 类型                      | 必填 | 说明                 |
| ------------- | ------------------------- | ---- | -------------------- |
| isPrivacyMode | boolean                   | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
| callback      | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
6445 6446 6447 6448

**示例:**

```js
Z
zhengjiangliang 已提交
6449 6450 6451 6452 6453 6454 6455 6456
let isPrivacyMode = true;
windowClass.setPrivacyMode(isPrivacyMode, (err) => {
    if (err.code) {
        console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the window to privacy mode.');
});
6457 6458
```

Z
zhengjiangliang 已提交
6459
### setPrivacyMode<sup>(deprecated)</sup>
6460

Z
zhengjiangliang 已提交
6461
setPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
6462

Z
zhengjiangliang 已提交
6463
设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
6464

Z
zhengjiangliang 已提交
6465
> **说明:**
C
chyyy0213 已提交
6466
>
Z
zhengjiangliang 已提交
6467
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9-1)。
6468 6469 6470 6471 6472

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
6473 6474 6475 6476 6477 6478 6479 6480 6481
| 参数名        | 类型    | 必填 | 说明                 |
| ------------- | ------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
6482 6483 6484 6485

**示例:**

```js
Z
zhengjiangliang 已提交
6486 6487 6488 6489 6490 6491 6492
let isPrivacyMode = true;
let promise = windowClass.setPrivacyMode(isPrivacyMode);
promise.then(()=> {
    console.info('Succeeded in setting the window to privacy mode.');
}).catch((err)=>{
    console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
});
6493 6494
```

Z
zhengjiangliang 已提交
6495
### setTouchable<sup>(deprecated)</sup>
6496

Z
zhengjiangliang 已提交
6497
setTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void
6498

Z
zhengjiangliang 已提交
6499
设置窗口是否为可触状态,使用callback异步回调。
6500

Z
zhengjiangliang 已提交
6501
> **说明:**
C
chyyy0213 已提交
6502
>
Z
zhengjiangliang 已提交
6503
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9)。
6504 6505 6506 6507 6508

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

Z
zhengjiangliang 已提交
6509 6510 6511 6512
| 参数名      | 类型                      | 必填 | 说明                 |
| ----------- | ------------------------- | ---- | -------------------- |
| isTouchable | boolean                   | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
6513 6514 6515 6516

**示例:**

```js
Z
zhengjiangliang 已提交
6517 6518 6519 6520 6521 6522 6523 6524
let isTouchable = true;
windowClass.setTouchable(isTouchable, (err) => {
    if (err.code) {
        console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the window to be touchable.');
});
6525 6526
```

Z
zhengjiangliang 已提交
6527
### setTouchable<sup>(deprecated)</sup>
6528

Z
zhengjiangliang 已提交
6529
setTouchable(isTouchable: boolean): Promise&lt;void&gt;
6530

Z
zhengjiangliang 已提交
6531
设置窗口是否为可触状态,使用Promise异步回调。
6532

Z
zhengjiangliang 已提交
6533
> **说明:**
C
chyyy0213 已提交
6534
>
Z
zhengjiangliang 已提交
6535
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9-1)。
6536 6537 6538 6539 6540 6541 6542

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
Z
zhengjiangliang 已提交
6543 6544 6545 6546 6547 6548 6549
| isTouchable | boolean | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
6550 6551 6552 6553

**示例:**

```js
Z
zhengjiangliang 已提交
6554 6555 6556 6557 6558 6559 6560
let isTouchable = true;
let promise = windowClass.setTouchable(isTouchable);
promise.then(()=> {
    console.info('Succeeded in setting the window to be touchable.');
}).catch((err)=>{
    console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
});
6561 6562
```

G
ge-yafang 已提交
6563
## WindowStageEventType<sup>9+</sup>
L
leafly2021 已提交
6564 6565 6566

WindowStage生命周期。

6567
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6568 6569

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
6570

6571
| 名称       | 值 | 说明       |
G
ge-yafang 已提交
6572
| ---------- | ------ | ---------- |
Z
zhengjiangliang 已提交
6573
| SHOWN      | 1      | 切到前台。 |
G
ge-yafang 已提交
6574 6575
| ACTIVE     | 2      | 获焦状态。 |
| INACTIVE   | 3      | 失焦状态。 |
Z
zhengjiangliang 已提交
6576
| HIDDEN     | 4      | 切到后台。 |
L
leafly2021 已提交
6577 6578 6579

## WindowStage<sup>9+</sup>

G
ge-yafang 已提交
6580 6581
窗口管理器。管理各个基本窗口单元,即[Window](#window)实例。

L
leafly2021 已提交
6582
下列API示例中都需在[onWindowStageCreate()](js-apis-app-ability-uiAbility.md#uiabilityonwindowstagecreate)函数中使用WindowStage的实例调用对应方法。
L
leafly2021 已提交
6583 6584 6585

### getMainWindow<sup>9+</sup>

G
ge-yafang 已提交
6586 6587 6588 6589
getMainWindow(callback: AsyncCallback&lt;Window&gt;): void

获取该WindowStage实例下的主窗口,使用callback异步回调。

6590
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6591 6592 6593

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
6594
**参数:**
G
ge-yafang 已提交
6595 6596 6597 6598 6599

| 参数名   | 类型                                   | 必填 | 说明                                          |
| -------- | -------------------------------------- | ---- | --------------------------------------------- |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的主窗口对象。 |

Z
zhengjiangliang 已提交
6600 6601 6602 6603 6604 6605 6606 6607 6608
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6609
**示例:**
G
ge-yafang 已提交
6610 6611

```ts
6612 6613 6614 6615
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6616

G
ge-yafang 已提交
6617 6618
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6619
        let windowClass = null;
G
ge-yafang 已提交
6620 6621 6622 6623 6624 6625 6626 6627 6628
        windowStage.getMainWindow((err, data) => {
            if (err.code) {
                console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
                return;
            }
            windowClass = data;
            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
        });
    }
Z
zhengjiangliang 已提交
6629
};
G
ge-yafang 已提交
6630
```
6631

G
ge-yafang 已提交
6632 6633
### getMainWindow<sup>9+</sup>

L
leafly2021 已提交
6634 6635
getMainWindow(): Promise&lt;Window&gt;

G
ge-yafang 已提交
6636
获取该WindowStage实例下的主窗口,使用Promise异步回调。
L
leafly2021 已提交
6637

6638
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6639

G
ge-yafang 已提交
6640
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
6641

L
leafly2021 已提交
6642
**返回值:**
L
leafly2021 已提交
6643

G
ge-yafang 已提交
6644 6645 6646
| 类型                             | 说明                                             |
| -------------------------------- | ------------------------------------------------ |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的主窗口对象。 |
L
leafly2021 已提交
6647

Z
zhengjiangliang 已提交
6648 6649 6650 6651 6652 6653 6654 6655 6656
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6657
**示例:**
L
leafly2021 已提交
6658

G
ge-yafang 已提交
6659
```ts
6660 6661 6662 6663
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6664

G
ge-yafang 已提交
6665 6666
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6667
        let windowClass = null;
G
ge-yafang 已提交
6668
        let promise = windowStage.getMainWindow();
Z
zhengjiangliang 已提交
6669
        promise.then((data) => {
G
ge-yafang 已提交
6670 6671
        windowClass = data;
            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
Z
zhengjiangliang 已提交
6672
        }).catch((err) => {
G
ge-yafang 已提交
6673 6674 6675
            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
        });
    }
Z
zhengjiangliang 已提交
6676
};
G
ge-yafang 已提交
6677
```
6678 6679 6680

### getMainWindowSync<sup>9+</sup>

Z
zhengjiangliang 已提交
6681
getMainWindowSync(): Window
6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694

获取该WindowStage实例下的主窗口。

**模型约束:** 此接口仅可在Stage模型下使用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型 | 说明 |
| ----------------- | --------------------------------- |
| [Window](#window) | 返回当前WindowStage下的主窗口对象。 |

Z
zhengjiangliang 已提交
6695 6696 6697 6698 6699 6700 6701 6702 6703
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

6704 6705 6706
**示例:**

```ts
6707 6708 6709 6710
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6711

6712 6713 6714 6715 6716 6717 6718 6719
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        try {
            let windowClass = windowStage.getMainWindowSync();
        } catch (exception) {
            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(exception));
        };
    }
Z
zhengjiangliang 已提交
6720
};
6721 6722
```

G
ge-yafang 已提交
6723
### createSubWindow<sup>9+</sup>
L
leafly2021 已提交
6724

G
ge-yafang 已提交
6725 6726 6727 6728
createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void

创建该WindowStage实例下的子窗口,使用callback异步回调。

6729
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
6730

G
ge-yafang 已提交
6731
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
6732

L
leafly2021 已提交
6733
**参数:**
L
leafly2021 已提交
6734

G
ge-yafang 已提交
6735 6736
| 参数名   | 类型                                   | 必填 | 说明                                          |
| -------- | -------------------------------------- | ---- | --------------------------------------------- |
Z
zhengjiangliang 已提交
6737
| name     | string                                 | 是   | 子窗口的名字。                                |
G
ge-yafang 已提交
6738
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的子窗口对象。 |
L
leafly2021 已提交
6739

Z
zhengjiangliang 已提交
6740 6741 6742 6743 6744 6745 6746 6747 6748
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6749
**示例:**
L
leafly2021 已提交
6750

G
ge-yafang 已提交
6751
```ts
6752 6753 6754 6755
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6756

G
ge-yafang 已提交
6757 6758
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6759
        let windowClass = null;
6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772
        try {
            windowStage.createSubWindow('mySubWindow', (err, data) => {
                if (err.code) {
                    console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
                    return;
                }
                windowClass = data;
                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
                windowClass.resetSize(500, 1000);
            });
        } catch (exception) {
            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
6773
    }
Z
zhengjiangliang 已提交
6774
};
G
ge-yafang 已提交
6775
```
L
leafly2021 已提交
6776 6777 6778 6779
### createSubWindow<sup>9+</sup>

createSubWindow(name: string): Promise&lt;Window&gt;

G
ge-yafang 已提交
6780
创建该WindowStage实例下的子窗口,使用Promise异步回调。
L
leafly2021 已提交
6781

6782
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6783

G
ge-yafang 已提交
6784
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6785

L
leafly2021 已提交
6786
**参数:**
L
leafly2021 已提交
6787

G
ge-yafang 已提交
6788 6789
| 参数名 | 类型   | 必填 | 说明           |
| ------ | ------ | ---- | -------------- |
Z
zhengjiangliang 已提交
6790
| name   | string | 是   | 子窗口的名字。 |
G
ge-yafang 已提交
6791

L
leafly2021 已提交
6792
**返回值:**
L
leafly2021 已提交
6793

G
ge-yafang 已提交
6794 6795 6796
| 类型                             | 说明                                             |
| -------------------------------- | ------------------------------------------------ |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的子窗口对象。 |
L
leafly2021 已提交
6797

Z
zhengjiangliang 已提交
6798 6799 6800 6801 6802 6803 6804 6805 6806
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6807
**示例:**
L
leafly2021 已提交
6808

G
ge-yafang 已提交
6809
```ts
6810 6811 6812 6813
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6814

G
ge-yafang 已提交
6815 6816
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6817
        let windowClass = null;
6818 6819
        try {
            let promise = windowStage.createSubWindow('mySubWindow');
Z
zhengjiangliang 已提交
6820
            promise.then((data) => {
6821 6822
                windowClass = data;
                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
Z
zhengjiangliang 已提交
6823
            }).catch((err) => {
6824 6825 6826 6827 6828
                console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
            });
        } catch (exception) {
            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
6829
    }
Z
zhengjiangliang 已提交
6830
};
G
ge-yafang 已提交
6831
```
6832

G
ge-yafang 已提交
6833
### getSubWindow<sup>9+</sup>
L
leafly2021 已提交
6834

G
ge-yafang 已提交
6835 6836 6837 6838
getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void

获取该WindowStage实例下的所有子窗口,使用callback异步回调。

6839
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
6840

G
ge-yafang 已提交
6841
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
6842

L
leafly2021 已提交
6843
**参数:**
L
leafly2021 已提交
6844

G
ge-yafang 已提交
6845 6846 6847
| 参数名   | 类型                                                | 必填 | 说明                                              |
| -------- | --------------------------------------------------- | ---- | ------------------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[Window](#window)&gt;&gt; | 是   | 回调函数。返回当前WindowStage下的所有子窗口对象。 |
L
leafly2021 已提交
6848

Z
zhengjiangliang 已提交
6849 6850 6851 6852 6853 6854 6855 6856
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6857
**示例:**
L
leafly2021 已提交
6858

G
ge-yafang 已提交
6859
```ts
6860 6861 6862 6863
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6864

G
ge-yafang 已提交
6865 6866
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6867
        let windowClass = null;
G
ge-yafang 已提交
6868 6869
        windowStage.getSubWindow((err, data) => {
            if (err.code) {
6870
                console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
6871 6872 6873
                return;
            }
            windowClass = data;
6874
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
6875 6876
        });
    }
Z
zhengjiangliang 已提交
6877
};
G
ge-yafang 已提交
6878
```
L
leafly2021 已提交
6879 6880 6881 6882
### getSubWindow<sup>9+</sup>

getSubWindow(): Promise&lt;Array&lt;Window&gt;&gt;

G
ge-yafang 已提交
6883
获取该WindowStage实例下的所有子窗口,使用Promise异步回调。
L
leafly2021 已提交
6884

6885
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6886

G
ge-yafang 已提交
6887
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6888

L
leafly2021 已提交
6889
**返回值:**
L
leafly2021 已提交
6890

G
ge-yafang 已提交
6891 6892 6893
| 类型                                          | 说明                                                 |
| --------------------------------------------- | ---------------------------------------------------- |
| Promise&lt;Array&lt;[Window](#window)&gt;&gt; | Promise对象。返回当前WindowStage下的所有子窗口对象。 |
L
leafly2021 已提交
6894

Z
zhengjiangliang 已提交
6895 6896 6897 6898 6899 6900 6901 6902
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6903
**示例:**
L
leafly2021 已提交
6904

G
ge-yafang 已提交
6905
```ts
6906 6907 6908 6909
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6910

G
ge-yafang 已提交
6911 6912
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6913
        let windowClass = null;
G
ge-yafang 已提交
6914
        let promise = windowStage.getSubWindow();
Z
zhengjiangliang 已提交
6915
        promise.then((data) => {
G
ge-yafang 已提交
6916
            windowClass = data;
6917
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
Z
zhengjiangliang 已提交
6918
        }).catch((err) => {
6919
            console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
6920 6921
        })
    }
Z
zhengjiangliang 已提交
6922
};
G
ge-yafang 已提交
6923 6924
```
### loadContent<sup>9+</sup>
L
leafly2021 已提交
6925

G
ge-yafang 已提交
6926 6927 6928 6929
loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。

6930
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
6931

G
ge-yafang 已提交
6932
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6933

L
leafly2021 已提交
6934
**参数:**
L
leafly2021 已提交
6935

G
ge-yafang 已提交
6936 6937 6938
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path     | string                                          | 是   | 设置加载页面的路径。                                         |
Z
zhangkai 已提交
6939
| storage  | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
G
ge-yafang 已提交
6940
| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
L
leafly2021 已提交
6941

Z
zhengjiangliang 已提交
6942 6943 6944 6945 6946 6947 6948 6949 6950
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

G
ge-yafang 已提交
6951
**示例:**
L
leafly2021 已提交
6952

G
ge-yafang 已提交
6953
```ts
6954 6955 6956 6957
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
6958

L
leafly2021 已提交
6959
    storage : LocalStorage
G
ge-yafang 已提交
6960 6961
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
6962
        this.storage.setOrCreate('storageSimpleProp',121);
G
ge-yafang 已提交
6963
        console.log('onWindowStageCreate');
6964
        try {
Z
zhengjiangliang 已提交
6965
            windowStage.loadContent('pages/page2',this.storage,(err) => {
6966 6967 6968 6969
                if (err.code) {
                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                    return;
                }
Z
zhengjiangliang 已提交
6970
                console.info('Succeeded in loading the content.');
6971 6972 6973 6974
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
6975
    }
Z
zhengjiangliang 已提交
6976
};
G
ge-yafang 已提交
6977 6978 6979 6980
```

### loadContent<sup>9+</sup>

G
ge-yafang 已提交
6981
loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt;
G
ge-yafang 已提交
6982 6983 6984

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。

6985
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6986 6987 6988

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
6989
**参数:**
G
ge-yafang 已提交
6990

G
ge-yafang 已提交
6991 6992 6993
| 参数名  | 类型                                            | 必填 | 说明                                                         |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path    | string                                          | 是   | 设置加载页面的路径。                                         |
Z
zhangkai 已提交
6994
| storage | [LocalStorage](../../quick-start/arkts-localstorage.md) | 否   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
G
ge-yafang 已提交
6995 6996 6997 6998 6999 7000 7001

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

Z
zhengjiangliang 已提交
7002 7003 7004 7005 7006 7007 7008 7009 7010
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

G
ge-yafang 已提交
7011 7012 7013
**示例:**

```ts
7014 7015 7016 7017
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
7018

L
leafly2021 已提交
7019
    storage : LocalStorage
G
ge-yafang 已提交
7020 7021
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
7022
        this.storage.setOrCreate('storageSimpleProp',121);
G
ge-yafang 已提交
7023
        console.log('onWindowStageCreate');
7024 7025
        try {
            let promise = windowStage.loadContent('pages/page2',this.storage);
Z
zhengjiangliang 已提交
7026
            promise.then(() => {
Z
zhengjiangliang 已提交
7027
                console.info('Succeeded in loading the content.');
Z
zhengjiangliang 已提交
7028
            }).catch((err) => {
7029 7030 7031 7032 7033
                console.error('Failed to load the content. Cause:' + JSON.stringify(err));
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
7034
    }
Z
zhengjiangliang 已提交
7035
};
G
ge-yafang 已提交
7036
```
L
leafly2021 已提交
7037 7038 7039 7040 7041

### loadContent<sup>9+</sup>

loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
7042
为当前WindowStage的主窗口加载具体页面内容,使用callback异步回调。
L
leafly2021 已提交
7043

7044
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
7045 7046

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
7047

L
leafly2021 已提交
7048
**参数:**
L
leafly2021 已提交
7049

G
ge-yafang 已提交
7050 7051 7052 7053
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| path     | string                    | 是   | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
G
ge-yafang 已提交
7054

Z
zhengjiangliang 已提交
7055 7056 7057 7058 7059 7060 7061 7062 7063
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
7064
**示例:**
L
leafly2021 已提交
7065

G
ge-yafang 已提交
7066
```ts
7067 7068 7069 7070
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
7071

G
ge-yafang 已提交
7072 7073
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
7074
        try {
Z
zhengjiangliang 已提交
7075
            windowStage.loadContent('pages/page2', (err) => {
7076 7077 7078 7079
                if (err.code) {
                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                    return;
                }
Z
zhengjiangliang 已提交
7080
                console.info('Succeeded in loading the content.');
7081 7082 7083 7084
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
7085
    }
Z
zhengjiangliang 已提交
7086
};
G
ge-yafang 已提交
7087
```
G
ge-yafang 已提交
7088

L
leafly2021 已提交
7089 7090 7091 7092 7093 7094
### on('windowStageEvent')<sup>9+</sup>

on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt;): void

开启WindowStage生命周期变化的监听。

7095
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
7096

G
ge-yafang 已提交
7097
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
7098

L
leafly2021 已提交
7099
**参数:**
L
leafly2021 已提交
7100

G
ge-yafang 已提交
7101 7102 7103
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
G
ge-yafang 已提交
7104
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 是   | 回调函数。返回当前的WindowStage生命周期状态。                |
L
leafly2021 已提交
7105

Z
zhengjiangliang 已提交
7106 7107 7108 7109 7110 7111 7112 7113 7114
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
7115
**示例:**
L
leafly2021 已提交
7116

G
ge-yafang 已提交
7117
```ts
7118 7119 7120 7121
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
7122

G
ge-yafang 已提交
7123 7124
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
7125 7126 7127 7128 7129 7130 7131 7132 7133
        try {
            windowStage.on('windowStageEvent', (data) => {
                console.info('Succeeded in enabling the listener for window stage event changes. Data: ' +
                    JSON.stringify(data));
            });
        } catch (exception) {
            console.error('Failed to enable the listener for window stage event changes. Cause:' +
                JSON.stringify(exception));
        };
G
ge-yafang 已提交
7134
    }
Z
zhengjiangliang 已提交
7135
};
G
ge-yafang 已提交
7136
```
L
leafly2021 已提交
7137 7138 7139 7140 7141 7142 7143

### off('windowStageEvent')<sup>9+</sup>

off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&gt;): void

关闭WindowStage生命周期变化的监听。

7144
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
7145

G
ge-yafang 已提交
7146
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
7147

L
leafly2021 已提交
7148
**参数:**
L
leafly2021 已提交
7149

G
ge-yafang 已提交
7150 7151 7152
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
G
ge-yafang 已提交
7153
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 否   | 回调函数。返回当前的WindowStage生命周期状态。                |
G
ge-yafang 已提交
7154

Z
zhengjiangliang 已提交
7155 7156 7157 7158 7159 7160 7161 7162 7163
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
7164
**示例:**
L
leafly2021 已提交
7165

G
ge-yafang 已提交
7166
```ts
7167 7168 7169 7170
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
7171

G
ge-yafang 已提交
7172 7173
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
7174 7175 7176 7177 7178 7179
        try {
            windowStage.off('windowStageEvent');
        } catch (exception) {
            console.error('Failed to disable the listener for window stage event changes. Cause:' +
                JSON.stringify(exception));
        };
G
ge-yafang 已提交
7180
    }
Z
zhengjiangliang 已提交
7181
};
G
ge-yafang 已提交
7182
```
Q
qianlf 已提交
7183

L
leafly2021 已提交
7184 7185 7186 7187 7188 7189
### disableWindowDecor()<sup>9+</sup>

disableWindowDecor(): void

禁止窗口装饰。

7190
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
7191

7192
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
7193 7194 7195

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
7196 7197 7198 7199 7200 7201 7202 7203 7204
**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
7205
**示例:**
L
leafly2021 已提交
7206 7207

```ts
7208 7209 7210 7211
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
7212

L
leafly2021 已提交
7213 7214 7215 7216
    onWindowStageCreate(windowStage) {
        console.log('disableWindowDecor');
        windowStage.disableWindowDecor();
    }
Z
zhengjiangliang 已提交
7217
};
L
leafly2021 已提交
7218 7219 7220
```

### setShowOnLockScreen()<sup>9+</sup>
Q
qianlf 已提交
7221 7222 7223 7224

setShowOnLockScreen(showOnLockScreen: boolean): void

设置应用显示在锁屏之上。
L
leafly2021 已提交
7225

7226
**系统接口:** 此接口为系统接口。
Q
qianlf 已提交
7227

7228
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
7229

Q
qianlf 已提交
7230 7231
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
7232
**参数:**
Q
qianlf 已提交
7233 7234 7235

| 参数名           | 类型    | 必填 | 说明                         |
| ---------------- | ------- | ---- | ---------------------------- |
Z
zhengjiangliang 已提交
7236 7237 7238 7239 7240 7241 7242 7243 7244 7245
| showOnLockScreen | boolean | 是   | 是否设置应用显示在锁屏之上。true表示显示在锁屏之上;false表示不显示在锁屏之上。 |

**错误码:**

以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |
Q
qianlf 已提交
7246

L
leafly2021 已提交
7247
**示例:**
Q
qianlf 已提交
7248 7249

```ts
7250 7251 7252 7253
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    // ...
Z
zhengjiangliang 已提交
7254

Q
qianlf 已提交
7255 7256
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
7257 7258 7259 7260 7261
        try {
            windowStage.setShowOnLockScreen(true);
        } catch (exception) {
            console.error('Failed to show on lockscreen. Cause:' + JSON.stringify(exception));
        };
Q
qianlf 已提交
7262
    }
Z
zhengjiangliang 已提交
7263
};
Q
qianlf 已提交
7264
```
L
leafly2021 已提交
7265 7266 7267 7268
## TransitionContext<sup>9+</sup>

属性转换的上下文信息。

L
leafly2021 已提交
7269
### 属性
L
leafly2021 已提交
7270

L
leafly2021 已提交
7271
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
7272 7273 7274

**系统能力**:SystemCapability.WindowManager.WindowManager.Core

Z
zhengjiangliang 已提交
7275
| 名称                  | 类型          | 可读 | 可写 | 说明             |
L
leafly2021 已提交
7276 7277
| --------------------- | ----------------- | ---- | ---- | ---------------- |
| toWindow<sup>9+</sup> | [Window](#window) | 是   | 是   | 动画的目标窗口。 |
L
leafly2021 已提交
7278 7279 7280 7281 7282 7283 7284

### completeTransition<sup>9+</sup>

completeTransition(isCompleted: boolean): void

设置属性转换的最终完成状态。该函数需要在动画函数[animateTo()](../arkui-ts/ts-explicit-animation.md)执行后设置。

L
leafly2021 已提交
7285 7286
**系统接口:** 此接口为系统接口。

L
leafly2021 已提交
7287 7288 7289 7290 7291 7292
**系统能力**:SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名      | 类型    | 必填 | 说明                                                         |
| ----------- | ------- | ---- | ------------------------------------------------------------ |
Z
zhengjiangliang 已提交
7293
| isCompleted | boolean | 是   | 窗口属性转换是否完成。true表示完成本次转换;false表示撤销本次转换。 |
L
leafly2021 已提交
7294 7295 7296

**示例:**

7297
```js
L
leafly2021 已提交
7298 7299
let controller = windowClass.getTransitionController();
controller.animationForShown = (context : window.TransitionContext) => {
7300
	let toWindow = context.toWindow;
L
leafly2021 已提交
7301 7302 7303 7304 7305 7306 7307 7308
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
      }, () => {
7309
        let obj : window.TranslateOptions = {
C
chenhaiying 已提交
7310 7311 7312
          x : 100.0,
          y : 0.0,
          z : 0.0
7313
        };
L
leafly2021 已提交
7314 7315 7316
        toWindow.translate(obj);
        console.info('toWindow translate end');
      }
Z
zhengjiangliang 已提交
7317
    );
7318 7319 7320 7321 7322
    try {
        context.completeTransition(true)
    } catch (exception) {
        console.info('toWindow translate fail. Cause: ' + JSON.stringify(exception));
    }
L
leafly2021 已提交
7323
    console.info('complete transition end');
7324
};
L
leafly2021 已提交
7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336
```

## TransitionController<sup>9+</sup>

属性转换控制器。

### animationForShown<sup>9+</sup>

animationForShown(context: TransitionContext): void

窗口显示时的自定义动画配置。

L
leafly2021 已提交
7337 7338
**系统接口:** 此接口为系统接口。

L
leafly2021 已提交
7339 7340 7341 7342 7343 7344 7345 7346 7347 7348
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名  | 类型                                     | 必填 | 说明                 |
| ------- | ---------------------------------------- | ---- | -------------------- |
| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |

**示例:**

7349
```js
L
leafly2021 已提交
7350 7351
let controller = windowClass.getTransitionController();
controller.animationForShown = (context : window.TransitionContext) => {
7352
	let toWindow = context.toWindow;
L
leafly2021 已提交
7353 7354 7355 7356 7357 7358 7359
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
C
chenhaiying 已提交
7360 7361
        onFinish: ()=> {
            context.completeTransition(true)
C
chyyy0213 已提交
7362
        }
L
leafly2021 已提交
7363
      }, () => {
7364
        let obj : window.TranslateOptions = {
C
chenhaiying 已提交
7365 7366 7367
          x : 100.0,
          y : 0.0,
          z : 0.0
7368
        };
L
leafly2021 已提交
7369 7370 7371
        toWindow.translate(obj);
        console.info('toWindow translate end');
      }
Z
zhengjiangliang 已提交
7372
    );
L
leafly2021 已提交
7373
    console.info('complete transition end');
Z
zhengjiangliang 已提交
7374
};
L
leafly2021 已提交
7375 7376 7377 7378 7379 7380 7381 7382
```

### animationForHidden<sup>9+</sup>

animationForHidden(context: TransitionContext): void

窗口隐藏时的自定义动画配置。

L
leafly2021 已提交
7383 7384
**系统接口:** 此接口为系统接口。

L
leafly2021 已提交
7385 7386 7387 7388 7389 7390 7391 7392 7393 7394
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名  | 类型                                     | 必填 | 说明                 |
| ------- | ---------------------------------------- | ---- | -------------------- |
| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |

**示例:**

7395
```js
L
leafly2021 已提交
7396 7397
let controller = windowClass.getTransitionController();
controller.animationForHidden = (context : window.TransitionContext) => {
7398
	let toWindow = context.toWindow;
L
leafly2021 已提交
7399 7400 7401 7402 7403 7404 7405
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
C
chenhaiying 已提交
7406 7407
        onFinish: ()=> {
            context.completeTransition(true)
C
chyyy0213 已提交
7408
        }
L
leafly2021 已提交
7409
      }, () => {
7410
        let obj : window.TranslateOptions = {
C
chenhaiying 已提交
7411 7412 7413
          x : 100.0,
          y : 0.0,
          z : 0.0
7414
        };
L
leafly2021 已提交
7415 7416 7417 7418 7419
        toWindow.translate(obj);
        console.info('toWindow translate end');
      }
    )
    console.info('complete transition end');
Z
zhengjiangliang 已提交
7420
};
Z
zhengjiangliang 已提交
7421
```