js-apis-window.md 228.1 KB
Newer Older
Z
zengyawen 已提交
1 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 43 44 45
| 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>**系统接口:** 此接口为系统接口。 |
| TYPE_FLOAT_CAMERA<sup>9+</sup> | 15      | 表示相机类型悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**需要权限:** ohos.permission.SYSTEM_FLOAT_WINDOW |
| TYPE_DIALOG<sup>9+</sup>  | 16      | 表示模态窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
| TYPE_SCREENSHOT<sup>9+</sup>  | 17      | 表示截屏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
Z
zengyawen 已提交
46

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

创建子窗口时的参数。

Z
zhengjiangliang 已提交
51
当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口时,使用callback异步回调。
52 53 54

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

Z
zhengjiangliang 已提交
55 56 57 58 59 60 61
| 名称 | 参数类型 | 必填 | 说明 |
| ---------- | -------------------------- | -- | ----------------------------------- |
| name       | string                     | 是 | 子窗口名字。                         |
| windowType | [WindowType](#windowtype7) | 是 | 子窗口类型。                         |
| ctx        | BaseContext                | 否 | 当前应用上下文信息。<br>FA模型的Context定义见[Context](js-apis-Context.md)<br>Stage模型的Context定义见[Context](js-apis-service-extension-context.md)。不设置,则默认为空。      |
| displayId  | number                     | 否 | 当前物理屏幕id。不设置,则默认为-1。 |
| parentId   | number                     | 否 | 父窗口id。不设置,则默认为-1。      |
62

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

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

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

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

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

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

80
**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
81

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

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

L
leafly2021 已提交
92 93 94 95
## WindowLayoutMode<sup>9+</sup>

窗口布局模式枚举。

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

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

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

G
ge-yafang 已提交
105
## SystemBarProperties
Z
zengyawen 已提交
106

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

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

L
leafly2021 已提交
111 112 113 114 115 116 117 118
| 名称                                   | 参数类型 | 可读 | 可写 | 必填 | 说明                                                         |
| -------------------------------------- | -------- | ---- | ---- | ---- | ------------------------------------------------------------ |
| 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 已提交
119

X
xpeng 已提交
120
## Orientation<sup>9+</sup>
X
xpeng 已提交
121

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

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

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

Q
qianlf 已提交
141 142 143 144
## BlurStyle<sup>9+</sup>

窗口模糊类型枚举。

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

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

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

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

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

160
**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
161

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

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

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

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

176
**系统接口:** 此接口为系统接口。
C
chyyy0213 已提交
177

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

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

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

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

G
ge-yafang 已提交
189
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
190 191 192 193 194 195 196

| 名称   | 参数类型 | 可读 | 可写 | 说明               |
| ------ | -------- | ---- | ---- | ------------------ |
| left   | number   | 是   | 是   | 矩形区域的左边界。 |
| top    | number   | 是   | 是   | 矩形区域的上边界。 |
| width  | number   | 是   | 是   | 矩形区域的宽度。   |
| height | number   | 是   | 是   | 矩形区域的高度。   |
Z
zengyawen 已提交
197

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

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

G
ge-yafang 已提交
202
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
203 204 205

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

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

窗口大小。

G
ge-yafang 已提交
216
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
217 218 219 220 221

| 名称   | 参数类型 | 可读 | 可写 | 说明       |
| ------ | -------- | ---- | ---- | ---------- |
| width  | number   | 是   | 是   | 窗口宽度。 |
| height | number   | 是   | 是   | 窗口高度。 |
Z
zengyawen 已提交
222

G
ge-yafang 已提交
223
## WindowProperties
Z
zengyawen 已提交
224 225 226

窗口属性。

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

L
leafly2021 已提交
229 230 231
| 名称                                  | 参数类型                  | 可读 | 可写 | 说明                                                         |
| ------------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
| windowRect<sup>7+</sup>               | [Rect](#rect)             | 是   | 是   | 窗口尺寸。                                                   |
232
| type<sup>7+</sup>                     | [WindowType](#windowtype7) | 是   | 是   | 窗口类型。                                                   |
Z
zhengjiangliang 已提交
233 234 235 236
| 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 已提交
237
| brightness                            | number                    | 是   | 是   | 屏幕亮度, 取值范围为0~1,1表示最大亮度值。                  |
Z
zhengjiangliang 已提交
238 239 240 241 242
| 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 已提交
243
| id<sup>9+</sup>                       | number                    | 是   | 否   | 窗口ID,默认值为0.0。                                                  |
Z
zengyawen 已提交
244

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

C
chyyy0213 已提交
247
色域模式。
Z
zengyawen 已提交
248

G
ge-yafang 已提交
249
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
250 251 252 253 254

| 名称       | 默认值 | 说明           |
| ---------- | ------ | -------------- |
| DEFAULT    | 0      | 默认色域模式。 |
| WIDE_GAMUT | 1      | 广色域模式。   |
Z
zengyawen 已提交
255

L
leafly2021 已提交
256 257 258 259
## ScaleOptions<sup>9+</sup>

缩放参数。

260
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
261 262 263 264 265 266 267 268 269 270 271 272 273 274

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

| 名称   | 参数类型 | 可读 | 可写 | 说明                                               |
| ------ | -------- | ---- | ---- | -------------------------------------------------- |
| 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>

旋转参数。

275
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
276 277 278 279 280 281 282 283 284 285 286 287 288 289 290

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

| 名称   | 参数类型 | 可读 | 可写 | 说明                                               |
| ------ | -------- | ---- | ---- | -------------------------------------------------- |
| 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>

平移参数。

291
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
292 293 294 295 296 297 298 299 300

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

| 名称 | 参数类型 | 可读 | 可写 | 说明                         |
| ---- | -------- | ---- | ---- | ---------------------------- |
| x    | number   | 否   | 是   | X轴的平移参数,默认值为0.0。 |
| y    | number   | 否   | 是   | Y轴的平移参数,默认值为0.0。 |
| z    | number   | 否   | 是   | Z轴的平移参数,默认值为0.0。 |

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

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

G
ge-yafang 已提交
305
创建子窗口,使用callback异步回调。
Z
zengyawen 已提交
306

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

L
leafly2021 已提交
309
**参数:**
C
chyyy0213 已提交
310

Z
zhengjiangliang 已提交
311 312 313 314 315 316 317 318 319 320 321 322 323
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | -- | --------------------------------- |
| config   | [Configuration](#configuration9)       | 是 | 当前应用上下文信息。                |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前创建的子窗口对象。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 1300001 | This is repeat operation.        |
| 1300006 | This window context is abnormal. |
Z
zengyawen 已提交
324

L
leafly2021 已提交
325
**示例:**
Z
zengyawen 已提交
326

G
ge-yafang 已提交
327
```js
328
let windowClass = null;
Z
zhengjiangliang 已提交
329 330 331 332 333 334 335 336 337 338 339 340 341 342
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));
};
G
ge-yafang 已提交
343
```
C
chyyy0213 已提交
344

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

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

Z
zhengjiangliang 已提交
349
创建子窗口,使用callback异步回调。
Z
zengyawen 已提交
350

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

L
leafly2021 已提交
353
**参数:**
C
chyyy0213 已提交
354

Z
zhengjiangliang 已提交
355 356 357
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------- | -- | ------------------ |
| config | [Configuration](#configuration9) | 是 | 当前应用上下文信息。 |
C
chyyy0213 已提交
358

L
leafly2021 已提交
359
**返回值:**
C
chyyy0213 已提交
360

Z
zhengjiangliang 已提交
361 362
| 类型 | 说明 |
| -------------------------------- | ------------------------------------ |
G
ge-yafang 已提交
363
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
C
chyyy0213 已提交
364

Z
zhengjiangliang 已提交
365
**错误码:**
Z
zengyawen 已提交
366

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

Z
zhengjiangliang 已提交
369 370 371 372
| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 1300001 | This is repeat operation.        |
| 1300006 | This window context is abnormal. |
Z
zengyawen 已提交
373

L
leafly2021 已提交
374
**示例:**
Z
zengyawen 已提交
375

G
ge-yafang 已提交
376
```js
377
let windowClass = null;
Z
zhengjiangliang 已提交
378 379 380 381 382 383 384 385 386 387 388 389
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));
};
G
ge-yafang 已提交
390
```
C
chyyy0213 已提交
391

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

Z
zhengjiangliang 已提交
394
findWindow(name: string): Window
C
chyyy0213 已提交
395

Z
zhengjiangliang 已提交
396
查找id所对应的窗口。
397

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

L
leafly2021 已提交
400
**参数:**
C
chyyy0213 已提交
401

Z
zhengjiangliang 已提交
402 403 404
| 参数名 | 类型   | 必填 | 说明     |
| ------ | ------ | ---- | -------- |
| name   | string | 是   | 窗口id。 |
C
chyyy0213 已提交
405

L
leafly2021 已提交
406
**返回值:**
C
chyyy0213 已提交
407

Z
zhengjiangliang 已提交
408 409 410
| 类型 | 说明 |
| ----------------- | ------------------- |
| [Window](#window) | 当前查找的窗口对象。 |
C
chyyy0213 已提交
411

L
leafly2021 已提交
412
**示例:**
C
chyyy0213 已提交
413

G
ge-yafang 已提交
414
```js
Z
zhengjiangliang 已提交
415 416 417 418 419
try {
    let windowClass = window.findWindow('alertWindow');
} catch (exception) {
    console.error('Failed to find the Window. Cause: ' + JSON.stringify(exception));
};
G
ge-yafang 已提交
420
```
Z
zengyawen 已提交
421

Z
zhengjiangliang 已提交
422
## window.getLastWindow<sup>9+</sup>
423

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

Z
zhengjiangliang 已提交
426
获取当前应用内最后显示的窗口,使用callback异步回调。
427 428 429 430 431 432

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
433 434 435 436 437 438 439 440 441 442 443 444
| -------- | -------------------------------------- | -- | ---------------------------------------- |
| ctx      | BaseContext                            | 是 | 当前应用上下文信息。<br>FA模型的Context定义见[Context](js-apis-Context.md)<br>Stage模型的Context定义见[Context](js-apis-ability-context.md)。 |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 1300002 | This window state is abnormal.   |
| 1300006 | This window context is abnormal. |
445 446 447 448 449 450

**示例:**

```js
let windowClass = null;
try {
Z
zhengjiangliang 已提交
451
    window.getLastWindow(this.context, (err, data) => {
452
        if (err.code) {
Z
zhengjiangliang 已提交
453
            console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
454 455 456
            return;
        }
        windowClass = data;
Z
zhengjiangliang 已提交
457
        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
458 459
    });
} catch (exception) {
Z
zhengjiangliang 已提交
460
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
461 462 463
};
```

Z
zhengjiangliang 已提交
464
## window.getLastWindow<sup>9+</sup>
465

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

Z
zhengjiangliang 已提交
468
获取当前应用内最后显示的窗口,使用Promise异步回调。
469 470 471 472 473 474

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
475 476
| ------ | ----------- | ---- | ------------------------------------------------------------ |
| ctx    | BaseContext | 是   | 当前应用上下文信息。<br/>FA模型的Context定义见[Context](js-apis-Context.md)<br/>Stage模型的Context定义见[Context](js-apis-ability-context.md)。 |
477 478 479 480

**返回值:**

| 类型 | 说明 |
Z
zhengjiangliang 已提交
481 482 483 484 485 486 487 488 489 490 491
| -------------------------------- | ------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 1300002 | This window state is abnormal.   |
| 1300006 | This window context is abnormal. |
492 493 494 495 496 497

**示例:**

```js
let windowClass = null;
try {
Z
zhengjiangliang 已提交
498
    let promise = window.getLastWindow(this.context);
499 500
    promise.then((data)=> {
        windowClass = data;
Z
zhengjiangliang 已提交
501
        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
502
    }).catch((err)=>{
Z
zhengjiangliang 已提交
503
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
504 505
    });
} catch (exception) {
Z
zhengjiangliang 已提交
506
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
507 508 509
};
```

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

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

Z
zhengjiangliang 已提交
515
**系统接口:** 此接口为系统接口。
516

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

L
leafly2021 已提交
519
**参数:**
C
chyyy0213 已提交
520

Z
zhengjiangliang 已提交
521 522 523 524 525 526 527 528 529 530 531 532
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**错误码:**

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

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

L
leafly2021 已提交
534
**示例:**
C
chyyy0213 已提交
535

G
ge-yafang 已提交
536
```js
Z
zhengjiangliang 已提交
537 538
import display from '@ohos.display'
import window from '@ohos.window'
C
chyyy0213 已提交
539

Z
zhengjiangliang 已提交
540 541 542 543 544 545
try {
    displayClass = display.getDefaultDisplaySync();
} catch (exception) {
    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
    return;
};
C
chyyy0213 已提交
546

Z
zhengjiangliang 已提交
547 548 549 550 551 552 553 554 555 556 557 558
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));
};
```
C
chyyy0213 已提交
559

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

Z
zhengjiangliang 已提交
563 564 565
最小化某显示设备下的所有窗口。

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

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

L
leafly2021 已提交
569
**参数:**
C
chyyy0213 已提交
570

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

L
leafly2021 已提交
575
**返回值:**
C
chyyy0213 已提交
576

Z
zhengjiangliang 已提交
577 578 579 580 581 582 583 584 585 586 587
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

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

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

L
leafly2021 已提交
589
**示例:**
C
chyyy0213 已提交
590

G
ge-yafang 已提交
591
```js
Z
zhengjiangliang 已提交
592 593
import display from '@ohos.display'
import window from '@ohos.window'
594

Z
zhengjiangliang 已提交
595 596 597 598 599 600
try {
    displayClass = display.getDefaultDisplaySync();
} catch (exception) {
    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
    return;
};
601 602

try {
Z
zhengjiangliang 已提交
603 604 605 606 607 608
    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));
    });
609
} catch (exception) {
Z
zhengjiangliang 已提交
610
    console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception));
611 612 613
};
```

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

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

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

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

L
leafly2021 已提交
623
**参数:**
C
chyyy0213 已提交
624

Z
zhengjiangliang 已提交
625 626 627 628 629 630 631 632 633 634 635
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**错误码:**

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

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

L
leafly2021 已提交
637
**示例:**
C
chyyy0213 已提交
638

G
ge-yafang 已提交
639
```js
Z
zhengjiangliang 已提交
640
window.toggleShownStateForAllAppWindows((err) => {
G
ge-yafang 已提交
641
    if (err.code) {
Z
zhengjiangliang 已提交
642
        console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
643 644
        return;
    }
Z
zhengjiangliang 已提交
645 646
    console.info('Succeeded in toggling shown state for all app windows.');
})
G
ge-yafang 已提交
647
```
Z
zengyawen 已提交
648

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

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

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

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

L
leafly2021 已提交
658
**返回值:**
C
chyyy0213 已提交
659

Z
zhengjiangliang 已提交
660 661 662 663 664 665 666 667 668 669 670
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

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

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

L
leafly2021 已提交
672
**示例:**
C
chyyy0213 已提交
673

G
ge-yafang 已提交
674
```js
Z
zhengjiangliang 已提交
675 676 677
let promise = window.toggleShownStateForAllAppWindows();
promise.then(()=> {
    console.info('Succeeded in toggling shown state for all app windows.');
G
ge-yafang 已提交
678
}).catch((err)=>{
Z
zhengjiangliang 已提交
679
    console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
680 681
})
```
C
chyyy0213 已提交
682

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

Z
zhengjiangliang 已提交
686
设置窗口布局模式。
Z
zengyawen 已提交
687

Z
zhengjiangliang 已提交
688
**系统接口:** 此接口为系统接口。
689

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

L
leafly2021 已提交
692
**参数:**
C
chyyy0213 已提交
693

Z
zhengjiangliang 已提交
694 695 696 697 698 699 700 701 702 703 704 705
| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| mode       | [WindowLayoutMode](#windowlayoutmode9)                  | 是   | 设置的窗口布局模式。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**错误码:**

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

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

L
leafly2021 已提交
707
**示例:**
C
chyyy0213 已提交
708

G
ge-yafang 已提交
709
```js
Z
zhengjiangliang 已提交
710 711 712 713 714 715 716 717 718 719 720
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));
};
G
ge-yafang 已提交
721
```
Z
zengyawen 已提交
722

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

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

Z
zhengjiangliang 已提交
728
**系统接口:** 此接口为系统接口。
729

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

L
leafly2021 已提交
732
**参数:**
C
chyyy0213 已提交
733

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

L
leafly2021 已提交
738
**返回值:**
C
chyyy0213 已提交
739

Z
zhengjiangliang 已提交
740 741 742 743 744 745 746 747 748 749 750
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

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

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

L
leafly2021 已提交
752
**示例:**
C
chyyy0213 已提交
753

G
ge-yafang 已提交
754
```js
Z
zhengjiangliang 已提交
755 756 757 758 759 760 761 762 763 764
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));
};
G
ge-yafang 已提交
765
```
C
chyyy0213 已提交
766

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

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

Z
zhengjiangliang 已提交
771 772 773
开启状态栏、导航栏属性变化的监听。

**系统接口:** 此接口为系统接口。
774 775 776 777 778

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

**参数:**

Z
zhengjiangliang 已提交
779 780 781 782
| 参数名   | 类型                                                      | 必填 | 说明                                                         |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                    | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
| callback | Callback&lt;[SystemBarTintState](#systembartintstate)&gt; | 是   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
783 784 785 786 787

**示例:**

```js
try {
Z
zhengjiangliang 已提交
788 789
    window.on('systemBarTintChange', (data) => {
        console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
790 791
    });
} catch (exception) {
Z
zhengjiangliang 已提交
792
    console.error('Failed to enable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
793 794 795
};
```

Z
zhengjiangliang 已提交
796 797 798
## window.off('systemBarTintChange')<sup>8+</sup>

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

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

Z
zhengjiangliang 已提交
802
**系统接口:** 此接口为系统接口。
803 804 805 806 807

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

**参数:**

Z
zhengjiangliang 已提交
808 809 810 811
| 参数名   | 类型                                                      | 必填 | 说明                                                         |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                    | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
| callback | Callback&lt;[SystemBarTintState](#systembartintstate)&gt; | 否   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
812 813 814 815 816

**示例:**

```js
try {
Z
zhengjiangliang 已提交
817
    window.off('systemBarTintChange');
818
} catch (exception) {
Z
zhengjiangliang 已提交
819
    console.error('Failed to disable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
820 821 822
};
```

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

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

Z
zhengjiangliang 已提交
827 828 829 830 831 832 833
创建子窗口,使用callback异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。

**模型约束:** 此接口仅可在FA模型下使用。
L
leafly2021 已提交
834 835 836 837 838

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

**参数:**

Z
zhengjiangliang 已提交
839 840 841 842 843
| 参数名   | 类型                                   | 必填 | 说明                                 |
| -------- | -------------------------------------- | ---- | ------------------------------------ |
| id       | string                                 | 是   | 窗口id。                             |
| type     | [WindowType](#windowtype7)              | 是   | 窗口类型。                           |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前创建的子窗口对象。 |
L
leafly2021 已提交
844 845 846 847

**示例:**

```js
Z
zhengjiangliang 已提交
848 849 850 851
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 已提交
852 853
        return;
    }
Z
zhengjiangliang 已提交
854 855
    windowClass = data;
    console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
L
leafly2021 已提交
856 857 858
});
```

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

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

Z
zhengjiangliang 已提交
863 864 865 866 867 868 869
创建子窗口,使用Promise异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。

**模型约束:** 此接口仅可在FA模型下使用。
L
leafly2021 已提交
870 871 872 873 874

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

**参数:**

Z
zhengjiangliang 已提交
875 876 877 878
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| id     | string                    | 是   | 窗口id。   |
| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |
L
leafly2021 已提交
879

L
leafly2021 已提交
880
**返回值:**
L
leafly2021 已提交
881

Z
zhengjiangliang 已提交
882 883 884
| 类型                             | 说明                                    |
| -------------------------------- | --------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
L
leafly2021 已提交
885 886 887 888

**示例:**

```js
Z
zhengjiangliang 已提交
889 890 891 892 893 894 895
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 已提交
896 897 898
});
```

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

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

Z
zhengjiangliang 已提交
903 904 905 906 907 908 909
创建子窗口,使用callback异步回调,其中Context详见[Context](js-apis-Context.md)

从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用callback异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。
L
leafly2021 已提交
910 911 912 913 914

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

**参数:**

Z
zhengjiangliang 已提交
915 916 917 918 919 920
| 参数名   | 类型                                   | 必填 | 说明                                                         |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| ctx      | BaseContext                            | 是   | 当前应用上下文信息。<br>FA模型的Context定义见[Context](js-apis-Context.md)<br>Stage模型的Context定义见[Context](js-apis-service-extension-context.md)。 |
| id       | string                                 | 是   | 窗口id。                                                     |
| type     | [WindowType](#windowtype7)              | 是   | 窗口类型。                                                   |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前创建的子窗口对象。                         |
L
leafly2021 已提交
921 922 923 924

**示例:**

```js
Z
zhengjiangliang 已提交
925 926
let windowClass = null;
 window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
L
leafly2021 已提交
927
    if (err.code) {
Z
zhengjiangliang 已提交
928
        console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
929 930
        return;
    }
Z
zhengjiangliang 已提交
931 932 933 934
    windowClass = data;
    console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
    windowClass.resetSize(500, 1000);
});
L
leafly2021 已提交
935 936
```

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

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

Z
zhengjiangliang 已提交
941 942 943 944 945 946 947
创建子窗口,使用Promise异步回调,其中Context详见[Context](js-apis-Context.md)

从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用Promise异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。
L
leafly2021 已提交
948 949 950

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

Z
zhengjiangliang 已提交
951 952 953 954 955 956 957 958
**参数:**

| 参数名 | 类型                      | 必填 | 说明                                                         |
| ------ | ------------------------- | ---- | ------------------------------------------------------------ |
| ctx    | BaseContext               | 是   | 当前应用上下文信息。<br/>FA模型的Context定义见[Context](js-apis-Context.md)<br/>Stage模型的Context定义见[Context](js-apis-service-extension-context.md)。 |
| id     | string                    | 是   | 窗口id。                                                     |
| type   | [WindowType](#windowtype7) | 是   | 窗口类型。                                                   |

L
leafly2021 已提交
959
**返回值:**
L
leafly2021 已提交
960

Z
zhengjiangliang 已提交
961 962 963
| 类型                             | 说明                                    |
| -------------------------------- | --------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
L
leafly2021 已提交
964 965 966 967

**示例:**

```js
Z
zhengjiangliang 已提交
968 969
let windowClass = null;
let promise = window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT);
L
leafly2021 已提交
970
promise.then((data)=> {
Z
zhengjiangliang 已提交
971 972
    windowClass = data;
    console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
L
leafly2021 已提交
973
}).catch((err)=>{
Z
zhengjiangliang 已提交
974 975
    console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
});
L
leafly2021 已提交
976 977
```

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

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

Z
zhengjiangliang 已提交
982 983 984 985 986
查找id所对应的窗口,使用callback异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
L
leafly2021 已提交
987 988 989 990 991

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

**参数:**

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

**示例:**

```js
Z
zhengjiangliang 已提交
1000 1001 1002 1003 1004 1005 1006 1007 1008
let windowClass = null;
 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));
});
L
leafly2021 已提交
1009 1010
```

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

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

Z
zhengjiangliang 已提交
1015 1016 1017 1018 1019
查找id所对应的窗口,使用Promise异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
L
leafly2021 已提交
1020 1021 1022 1023 1024

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

**参数:**

Z
zhengjiangliang 已提交
1025 1026 1027
| 参数名 | 类型   | 必填 | 说明     |
| ------ | ------ | ---- | -------- |
| id     | string | 是   | 窗口id。 |
L
leafly2021 已提交
1028

L
leafly2021 已提交
1029
**返回值:**
L
leafly2021 已提交
1030

Z
zhengjiangliang 已提交
1031 1032 1033
| 类型                             | 说明                                  |
| -------------------------------- | ------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前查找的窗口对象。 |
L
leafly2021 已提交
1034 1035 1036 1037

**示例:**

```js
Z
zhengjiangliang 已提交
1038 1039 1040 1041 1042 1043 1044 1045
let windowClass = null;
let promise = window.find('alertWindow');
promise.then((data)=> {
 	windowClass = data;
    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 已提交
1046 1047
```

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

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

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

Z
zhengjiangliang 已提交
1054 1055 1056 1057 1058
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。

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

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

L
leafly2021 已提交
1062
**参数:**
C
chyyy0213 已提交
1063

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

L
leafly2021 已提交
1068
**示例:**
C
chyyy0213 已提交
1069

G
ge-yafang 已提交
1070
```js
Z
zhengjiangliang 已提交
1071 1072 1073 1074 1075 1076 1077 1078 1079
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 已提交
1080
```
Z
zengyawen 已提交
1081

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

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

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

Z
zhengjiangliang 已提交
1088 1089 1090 1091 1092
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。

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

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

Z
zhengjiangliang 已提交
1096
**返回值:**
C
chyyy0213 已提交
1097

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

L
leafly2021 已提交
1102
**示例:**
C
chyyy0213 已提交
1103

G
ge-yafang 已提交
1104
```js
Z
zhengjiangliang 已提交
1105 1106 1107 1108 1109 1110 1111 1112
let windowClass = null;
let promise = window.getTopWindow();
promise.then((data)=> {
 	windowClass = data;
    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));
})
G
ge-yafang 已提交
1113
```
Z
zengyawen 已提交
1114

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

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

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

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

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

L
leafly2021 已提交
1127
**参数:**
C
chyyy0213 已提交
1128

Z
zhengjiangliang 已提交
1129 1130 1131 1132 1133 1134
| 参数名   | 类型                                   | 必填 | 说明                                                         |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| ctx      | BaseContext                            | 是   | 当前应用上下文信息。<br>FA模型的Context定义见[Context](js-apis-Context.md)<br>Stage模型的Context定义见[Context](js-apis-ability-context.md)。 |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。                 |

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

G
ge-yafang 已提交
1136
```js
Z
zhengjiangliang 已提交
1137 1138
let windowClass = null;
window.getTopWindow(this.context, (err, data) => {
G
ge-yafang 已提交
1139
    if (err.code) {
Z
zhengjiangliang 已提交
1140
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1141 1142
        return;
    }
Z
zhengjiangliang 已提交
1143 1144 1145
    windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
G
ge-yafang 已提交
1146
```
Z
zengyawen 已提交
1147

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

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

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

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

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

Z
zhengjiangliang 已提交
1160 1161 1162 1163 1164 1165
**参数:**

| 参数名 | 类型    | 必填 | 说明                                                         |
| ------ | ----------- | ---- | ------------------------------------------------------------ |
| ctx    | BaseContext | 是   | 当前应用上下文信息。<br/>FA模型的Context定义见[Context](js-apis-Context.md)<br/>Stage模型的Context定义见[Context](js-apis-ability-context.md)。 |

L
leafly2021 已提交
1166
**返回值:**
C
chyyy0213 已提交
1167

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

L
leafly2021 已提交
1172
**示例:**
C
chyyy0213 已提交
1173

G
ge-yafang 已提交
1174
```js
Z
zhengjiangliang 已提交
1175 1176
let windowClass = null;
let promise = window.getTopWindow(this.context);
G
ge-yafang 已提交
1177
promise.then((data)=> {
Z
zhengjiangliang 已提交
1178 1179
 	windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
1180
}).catch((err)=>{
Z
zhengjiangliang 已提交
1181
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1182 1183
})
```
C
chyyy0213 已提交
1184

Z
zhengjiangliang 已提交
1185
## Window
L
leafly2021 已提交
1186

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

Z
zhengjiangliang 已提交
1189 1190 1191 1192 1193 1194 1195
下列API示例中都需先使用[getLastWindow()](#windowgetlastwindow9)[createWindow()](#windowcreatewindow9)[findWindow()](#windowfindwindow9)中的任一方法获取到Window实例,再通过此实例调用对应方法。

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

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

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

1197
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1198 1199 1200 1201 1202 1203 1204 1205 1206

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

**参数:**

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

Z
zhengjiangliang 已提交
1207 1208 1209 1210 1211 1212 1213 1214
**错误码:**

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

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

L
leafly2021 已提交
1215 1216 1217
**示例:**

```js
Z
zhengjiangliang 已提交
1218
windowClass.hide((err) => {
L
leafly2021 已提交
1219
    if (err.code) {
Z
zhengjiangliang 已提交
1220
        console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
1221 1222
        return;
    }
Z
zhengjiangliang 已提交
1223
    console.info('Succeeded in hiding the window. data: ' + JSON.stringify(data));
L
leafly2021 已提交
1224 1225 1226
})
```

Z
zhengjiangliang 已提交
1227
### hide<sup>7+</sup>
L
leafly2021 已提交
1228

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

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

1233
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1234 1235 1236 1237 1238 1239 1240 1241 1242

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

**返回值:**

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

Z
zhengjiangliang 已提交
1243 1244 1245 1246 1247 1248 1249 1250
**错误码:**

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

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

L
leafly2021 已提交
1251 1252 1253
**示例:**

```js
Z
zhengjiangliang 已提交
1254 1255 1256
let promise = windowClass.hide();
promise.then(()=> {
    console.info('Succeeded in hiding the window.');
L
leafly2021 已提交
1257
}).catch((err)=>{
Z
zhengjiangliang 已提交
1258
    console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
1259 1260 1261
})
```

Z
zhengjiangliang 已提交
1262
### hideWithAnimation<sup>9+</sup>
Z
zengyawen 已提交
1263

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

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

Z
zhengjiangliang 已提交
1268
**系统接口:** 此接口为系统接口。
1269

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

L
leafly2021 已提交
1272
**参数:**
C
chyyy0213 已提交
1273

G
ge-yafang 已提交
1274 1275 1276
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
1277

Z
zhengjiangliang 已提交
1278 1279 1280 1281 1282 1283 1284 1285 1286 1287
**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
| 1300004 | This operation is not access.                |

L
leafly2021 已提交
1288
**示例:**
C
chyyy0213 已提交
1289

G
ge-yafang 已提交
1290
```js
Z
zhengjiangliang 已提交
1291
windowClass.hideWithAnimation((err) => {
G
ge-yafang 已提交
1292
    if (err.code) {
Z
zhengjiangliang 已提交
1293
        console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1294 1295
        return;
    }
Z
zhengjiangliang 已提交
1296
    console.info('Succeeded in hiding the window with animation.');
G
ge-yafang 已提交
1297 1298
})
```
Z
zengyawen 已提交
1299

Z
zhengjiangliang 已提交
1300
### hideWithAnimation<sup>9+</sup>
C
chyyy0213 已提交
1301

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

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

Z
zhengjiangliang 已提交
1306
**系统接口:** 此接口为系统接口。
1307

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

L
leafly2021 已提交
1310
**返回值:**
C
chyyy0213 已提交
1311

G
ge-yafang 已提交
1312 1313 1314
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1315

Z
zhengjiangliang 已提交
1316 1317 1318 1319 1320 1321 1322 1323 1324 1325
**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
| 1300004 | This operation is not access.                |

L
leafly2021 已提交
1326
**示例:**
C
chyyy0213 已提交
1327

G
ge-yafang 已提交
1328
```js
Z
zhengjiangliang 已提交
1329 1330 1331
let promise = windowClass.hideWithAnimation();
promise.then(()=> {
    console.info('Succeeded in hiding the window with animation. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
1332
}).catch((err)=>{
Z
zhengjiangliang 已提交
1333
    console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1334 1335
})
```
C
chyyy0213 已提交
1336

1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350
### showWindow<sup>9+</sup>

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

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

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

**参数:**

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

Z
zhengjiangliang 已提交
1351 1352 1353 1354 1355 1356 1357 1358
**错误码:**

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

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

1359 1360 1361
**示例:**

```js
Z
zhengjiangliang 已提交
1362
windowClass.showWindow((err) => {
1363 1364 1365 1366
    if (err.code) {
        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1367
    console.info('Succeeded in showing the window.');
1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384
});
```

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

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

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

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

**返回值:**

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

Z
zhengjiangliang 已提交
1385 1386 1387 1388 1389 1390 1391 1392
**错误码:**

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

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

1393 1394 1395 1396
**示例:**

```js
let promise = windowClass.showWindow();
Z
zhengjiangliang 已提交
1397 1398
promise.then(()=> {
    console.info('Succeeded in showing the window.');
1399 1400 1401 1402 1403
}).catch((err)=>{
    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
});
```

L
leafly2021 已提交
1404 1405 1406 1407 1408 1409
### showWithAnimation<sup>9+</sup>

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

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

1410
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1411 1412 1413 1414 1415 1416 1417 1418 1419

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

**参数:**

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

Z
zhengjiangliang 已提交
1420 1421 1422 1423 1424 1425 1426 1427 1428 1429
**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
| 1300004 | This operation is not access.                |

L
leafly2021 已提交
1430 1431 1432
**示例:**

```js
Z
zhengjiangliang 已提交
1433
windowClass.showWithAnimation((err) => {
L
leafly2021 已提交
1434 1435 1436 1437
    if (err.code) {
        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1438
    console.info('Succeeded in showing the window with animation.');
L
leafly2021 已提交
1439 1440 1441 1442 1443 1444 1445 1446 1447
})
```

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

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

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

1448
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
1449 1450 1451 1452 1453 1454 1455 1456 1457

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

**返回值:**

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

Z
zhengjiangliang 已提交
1458
**错误码:**
C
chyyy0213 已提交
1459

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

Z
zhengjiangliang 已提交
1462 1463 1464 1465 1466
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
| 1300004 | This operation is not access.                |
C
chyyy0213 已提交
1467

L
leafly2021 已提交
1468
**示例:**
C
chyyy0213 已提交
1469

G
ge-yafang 已提交
1470
```js
Z
zhengjiangliang 已提交
1471 1472 1473
let promise = windowClass.showWithAnimation();
promise.then(()=> {
    console.info('Succeeded in showing the window with animation.');
G
ge-yafang 已提交
1474
}).catch((err)=>{
Z
zhengjiangliang 已提交
1475
    console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1476 1477
})
```
C
chyyy0213 已提交
1478

1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492
### destroyWindow<sup>9+</sup>

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

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

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

**参数:**

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

Z
zhengjiangliang 已提交
1493 1494 1495 1496 1497 1498 1499 1500 1501
**错误码:**

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

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

1502 1503 1504
**示例:**

```js
Z
zhengjiangliang 已提交
1505
windowClass.destroyWindow((err) => {
1506 1507 1508 1509
    if (err.code) {
        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1510
    console.info('Succeeded in destroying the window.');
1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527
})
```

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

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

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

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

**返回值:**

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

Z
zhengjiangliang 已提交
1528
**错误码:**
C
chyyy0213 已提交
1529

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

Z
zhengjiangliang 已提交
1532 1533 1534 1535
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
C
chyyy0213 已提交
1536

L
leafly2021 已提交
1537
**示例:**
C
chyyy0213 已提交
1538

G
ge-yafang 已提交
1539
```js
Z
zhengjiangliang 已提交
1540 1541 1542
let promise = windowClass.destroyWindow();
promise.then(()=> {
    console.info('Succeeded in destroying the window.');
G
ge-yafang 已提交
1543
}).catch((err)=>{
Z
zhengjiangliang 已提交
1544
    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
1545 1546
})
```
C
chyyy0213 已提交
1547

1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563
### moveWindowTo<sup>9+</sup>

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

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

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

**参数:**

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

Z
zhengjiangliang 已提交
1564 1565 1566 1567 1568 1569 1570 1571 1572
**错误码:**

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

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

1573 1574 1575 1576
**示例:**

```js
try {
Z
zhengjiangliang 已提交
1577
    windowClass.moveWindowTo(300, 300, (err)=>{
1578 1579 1580 1581
        if (err.code) {
            console.error('Failed to move the window. Cause:' + JSON.stringify(err));
            return;
        }
Z
zhengjiangliang 已提交
1582
        console.info('Succeeded in moving the window.');
1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609
    });
} catch (exception) {
    console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
};
```

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

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

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

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

**参数:**

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

**返回值:**

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

Z
zhengjiangliang 已提交
1610 1611 1612 1613 1614 1615 1616 1617 1618
**错误码:**

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

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

1619 1620 1621 1622 1623
**示例:**

```js
try {
    let promise = windowClass.moveWindowTo(300, 300);
Z
zhengjiangliang 已提交
1624 1625
    promise.then(()=> {
        console.info('Succeeded in moving the window.');
1626 1627 1628 1629 1630 1631 1632 1633
    }).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 已提交
1634
### resize<sup>9+</sup>
C
chyyy0213 已提交
1635

Z
zhengjiangliang 已提交
1636
resize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649

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

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

**参数:**

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

Z
zhengjiangliang 已提交
1650 1651 1652 1653 1654 1655 1656 1657 1658
**错误码:**

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

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

1659 1660 1661 1662
**示例:**

```js
try {
Z
zhengjiangliang 已提交
1663
    windowClass.resize(500, 1000, (err) => {
1664 1665 1666 1667
        if (err.code) {
            console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
            return;
        }
Z
zhengjiangliang 已提交
1668
        console.info('Succeeded in changing the window size.');
1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695
    });
} catch (exception) {
    console.error('Failed to change the window size. Cause:' + JSON.stringify(exception));
};
```

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

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

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

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

**参数:**

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

**返回值:**

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

Z
zhengjiangliang 已提交
1696 1697 1698 1699 1700 1701 1702 1703 1704
**错误码:**

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

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

1705 1706 1707 1708 1709
**示例:**

```js
try {
    let promise = windowClass.resize(500, 1000);
Z
zhengjiangliang 已提交
1710 1711
    promise.then(()=> {
        console.info('Succeeded in changing the window size.');
1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733
    }).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));
};
```

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

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

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

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

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

**参数:**

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

Z
zhengjiangliang 已提交
1737 1738 1739 1740 1741 1742 1743 1744 1745
**错误码:**

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

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

1746 1747 1748 1749 1750
**示例:**

```js
let mode = window.WindowMode.FULLSCREEN;
try {
Z
zhengjiangliang 已提交
1751
    windowClass.setWindowMode(mode, (err) => {
1752 1753 1754 1755
    if (err.code) {
        console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err));
        return;
    }
Z
zhengjiangliang 已提交
1756
    console.info('Succeeded in setting the window mode.');
1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776
    });
} catch (exception) {
    console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception));
};
```

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

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

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

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

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------- | -- | --------- |
Z
zhengjiangliang 已提交
1777
| mode     | [WindowMode](#windowmode7) | 是 | 窗口模式。 |
1778 1779 1780 1781 1782 1783 1784

**返回值:**

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

Z
zhengjiangliang 已提交
1785 1786 1787 1788 1789 1790 1791 1792 1793
**错误码:**

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

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

1794 1795 1796 1797 1798 1799
**示例:**

```js
let mode = window.WindowMode.FULLSCREEN;
try {
    let promise = windowClass.setWindowMode(type);
Z
zhengjiangliang 已提交
1800 1801
    promise.then(()=> {
        console.info('Succeeded in setting the window mode.');
1802 1803 1804 1805 1806 1807 1808 1809
    }).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 已提交
1810
### getWindowProperties<sup>9+</sup>
Z
zengyawen 已提交
1811

Z
zhengjiangliang 已提交
1812
getWindowProperties(): WindowProperties
Z
zengyawen 已提交
1813

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

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

Z
zhengjiangliang 已提交
1818
**返回值:**
C
chyyy0213 已提交
1819

Z
zhengjiangliang 已提交
1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830
| 类型 | 说明 |
| ------------------------------------- | ------------- |
| [WindowProperties](#windowproperties) | 当前窗口属性。 |

**错误码:**

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

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

L
leafly2021 已提交
1832
**示例:**
C
chyyy0213 已提交
1833

G
ge-yafang 已提交
1834
```js
Z
zhengjiangliang 已提交
1835 1836 1837 1838 1839
try {
    let properties = windowClass.getWindowProperties();
} catch (exception) {
    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(exception));
};
G
ge-yafang 已提交
1840
```
Z
zengyawen 已提交
1841

Z
zhengjiangliang 已提交
1842
### getWindowAvoidArea<sup>9+</sup>
C
chyyy0213 已提交
1843

Z
zhengjiangliang 已提交
1844
getWindowAvoidArea(type: AvoidAreaType): AvoidArea
C
chyyy0213 已提交
1845

Z
zhengjiangliang 已提交
1846
获取窗口内容规避的区域,如系统的系统栏区域、刘海屏区域、手势区域、软键盘区域等。
1847

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

Z
zhengjiangliang 已提交
1850 1851 1852 1853 1854 1855
**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| ---- |----------------------------------| -- | ------------------------------------------------------------ |
| type | [AvoidAreaType](#avoidareatype7) | 是 | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。type为TYPE_SYSTEM_GESTURE,表示手势区域。type为TYPE_KEYBOARD,表示软键盘区域。 |

L
leafly2021 已提交
1856
**返回值:**
C
chyyy0213 已提交
1857

Z
zhengjiangliang 已提交
1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868
| 类型 | 说明 |
|--------------------------| ----------------- |
| [AvoidArea](#avoidarea7) | 窗口内容规避区域。 |

**错误码:**

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

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

L
leafly2021 已提交
1870
**示例:**
C
chyyy0213 已提交
1871

G
ge-yafang 已提交
1872
```js
Z
zhengjiangliang 已提交
1873 1874 1875 1876 1877 1878
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));
};
G
ge-yafang 已提交
1879
```
C
chyyy0213 已提交
1880

Z
zhengjiangliang 已提交
1881
### setWindowLayoutFullScreen<sup>9+</sup>
1882

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

Z
zhengjiangliang 已提交
1885
设置窗口的布局是否为全屏显示状态,使用callback异步回调。
1886 1887 1888

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

Z
zhengjiangliang 已提交
1889
**参数:**
1890

Z
zhengjiangliang 已提交
1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | ------------------------- | -- | --------- |
| isLayoutFullScreen | boolean                   | 是 | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏显示;false表示非全屏显示。 |
| callback           | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
1904 1905 1906 1907

**示例:**

```js
Z
zhengjiangliang 已提交
1908
let isLayoutFullScreen= true;
1909
try {
Z
zhengjiangliang 已提交
1910 1911 1912 1913 1914 1915 1916
    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.');
    });
1917
} catch (exception) {
Z
zhengjiangliang 已提交
1918
    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
1919 1920 1921
};
```

Z
zhengjiangliang 已提交
1922
### setWindowLayoutFullScreen<sup>9+</sup>
Z
zengyawen 已提交
1923

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

Z
zhengjiangliang 已提交
1926
设置窗口的布局是否为全屏显示状态,使用Promise异步回调。
1927

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

L
leafly2021 已提交
1930
**参数:**
C
chyyy0213 已提交
1931

Z
zhengjiangliang 已提交
1932 1933 1934
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | ------- | -- | ------------------------------------------------------------------------------------------------ |
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏显示;false表示非全屏显示。 |
Z
zengyawen 已提交
1935

Z
zhengjiangliang 已提交
1936
**返回值:**
C
chyyy0213 已提交
1937

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

Z
zhengjiangliang 已提交
1942
**错误码:**
C
chyyy0213 已提交
1943

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

Z
zhengjiangliang 已提交
1946 1947 1948 1949
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
C
chyyy0213 已提交
1950

Z
zhengjiangliang 已提交
1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971
**示例:**

```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));
};
```

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

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

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

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

L
leafly2021 已提交
1975
**参数:**
C
chyyy0213 已提交
1976

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

Z
zhengjiangliang 已提交
1982
**错误码:**
C
chyyy0213 已提交
1983

Z
zhengjiangliang 已提交
1984 1985 1986 1987 1988 1989
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

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

L
leafly2021 已提交
1991
**示例:**
C
chyyy0213 已提交
1992

G
ge-yafang 已提交
1993
```js
Z
zhengjiangliang 已提交
1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
// 此处以不显示导航栏、状态栏为例
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));
};
G
ge-yafang 已提交
2007
```
C
chyyy0213 已提交
2008

Z
zhengjiangliang 已提交
2009
### setWindowSystemBarEnable<sup>9+</sup>
2010

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

Z
zhengjiangliang 已提交
2013
设置导航栏、状态栏的可见模式,使用Promise异步回调。
2014 2015 2016 2017 2018

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

**参数:**

Z
zhengjiangliang 已提交
2019 2020 2021
| 参数名 | 类型  | 必填 | 说明 |
| ----- | ----- | -- | ------------------------------------------------------------------------------------------------------------ |
| names | Array | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
2022 2023 2024 2025

**返回值:**

| 类型 | 说明 |
Z
zhengjiangliang 已提交
2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036
| ------------------- | ------------------------ |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
2037 2038 2039 2040

**示例:**

```js
Z
zhengjiangliang 已提交
2041 2042
// 此处以不显示导航栏、状态栏为例
let names = [];
2043
try {
Z
zhengjiangliang 已提交
2044 2045 2046 2047 2048 2049
    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));
    });
2050
} catch (exception) {
Z
zhengjiangliang 已提交
2051
    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
2052 2053 2054
};
```

Z
zhengjiangliang 已提交
2055
### setWindowSystemBarProperties<sup>9+</sup>
Z
zengyawen 已提交
2056

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

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

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

L
leafly2021 已提交
2063
**参数:**
C
chyyy0213 已提交
2064

Z
zhengjiangliang 已提交
2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |

**错误码:**

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

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

L
leafly2021 已提交
2079
**示例:**
C
chyyy0213 已提交
2080

G
ge-yafang 已提交
2081
```js
Z
zhengjiangliang 已提交
2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
let SystemBarProperties={
    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));
};
G
ge-yafang 已提交
2100
```
C
chyyy0213 已提交
2101

Z
zhengjiangliang 已提交
2102
### setWindowSystemBarProperties<sup>9+</sup>
C
chyyy0213 已提交
2103

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

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

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

L
leafly2021 已提交
2110
**参数:**
C
chyyy0213 已提交
2111

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

L
leafly2021 已提交
2116
**返回值:**
C
chyyy0213 已提交
2117

G
ge-yafang 已提交
2118 2119 2120
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2121

Z
zhengjiangliang 已提交
2122 2123 2124 2125 2126 2127 2128 2129 2130
**错误码:**

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

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

L
leafly2021 已提交
2131
**示例:**
C
chyyy0213 已提交
2132

G
ge-yafang 已提交
2133
```js
Z
zhengjiangliang 已提交
2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150
let SystemBarProperties={
    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));
};
G
ge-yafang 已提交
2151
```
Z
zengyawen 已提交
2152

Z
zhengjiangliang 已提交
2153
### setPreferredOrientation<sup>9+</sup>
Z
zengyawen 已提交
2154

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

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

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

L
leafly2021 已提交
2161
**参数:**
C
chyyy0213 已提交
2162

Z
zhengjiangliang 已提交
2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| Orientation         | [Orientation](#orientation9)                | 是   | 窗口显示方向的属性。         |
| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |

**错误码:**

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

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

L
leafly2021 已提交
2176
**示例:**
C
chyyy0213 已提交
2177

G
ge-yafang 已提交
2178
```js
Z
zhengjiangliang 已提交
2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190
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));
};
G
ge-yafang 已提交
2191
```
C
chyyy0213 已提交
2192

Z
zhengjiangliang 已提交
2193
### setPreferredOrientation<sup>9+</sup>
C
chyyy0213 已提交
2194

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

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

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

L
leafly2021 已提交
2201
**参数:**
C
chyyy0213 已提交
2202

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

L
leafly2021 已提交
2207
**返回值:**
C
chyyy0213 已提交
2208

G
ge-yafang 已提交
2209 2210 2211
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2212

Z
zhengjiangliang 已提交
2213 2214 2215 2216 2217 2218 2219 2220
**错误码:**

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

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

L
leafly2021 已提交
2221
**示例:**
C
chyyy0213 已提交
2222

G
ge-yafang 已提交
2223
```js
Z
zhengjiangliang 已提交
2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234
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));
};
G
ge-yafang 已提交
2235
```
Z
zengyawen 已提交
2236

Z
zhengjiangliang 已提交
2237
### setUIContent<sup>9+</sup>
2238

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

Z
zhengjiangliang 已提交
2241
为当前窗口加载具体页面内容,使用callback异步回调。
2242 2243 2244 2245 2246 2247

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
Z
zhengjiangliang 已提交
2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259
| -------- | ------------------------- | -- | -------------------- |
| path     | string                    | 是 | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。          |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
2260 2261 2262 2263 2264

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2265 2266 2267
    windowClass.setUIContent('pages/page2/page2', (err) => {
    if (err.code) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2268
            return;
Z
zhengjiangliang 已提交
2269 2270
    }
    console.info('Succeeded in loading the content.');
2271 2272
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2273
    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
2274 2275 2276
};
```

Z
zhengjiangliang 已提交
2277
### setUIContent<sup>9+</sup>
2278

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

Z
zhengjiangliang 已提交
2281
为当前窗口加载具体页面内容,使用Promise异步回调。
2282 2283 2284 2285 2286 2287

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

**参数:**

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

2291 2292 2293 2294 2295 2296
**返回值:**

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

Z
zhengjiangliang 已提交
2297 2298 2299 2300 2301 2302 2303 2304 2305
**错误码:**

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

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

2306 2307 2308 2309
**示例:**

```js
try {
Z
zhengjiangliang 已提交
2310 2311 2312
    let promise = windowClass.setUIContent('pages/page2/page2');
    promise.then(()=> {
        console.info('Succeeded in loading the content.');
2313
    }).catch((err)=>{
Z
zhengjiangliang 已提交
2314
        console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
2315 2316
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2317
    console.error('Failed to load the content. Cause: ' + JSON.stringify(exception));
2318 2319 2320
};
```

Z
zhengjiangliang 已提交
2321
### loadContent<sup>9+</sup>
Z
zengyawen 已提交
2322

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

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

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

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

L
leafly2021 已提交
2331
**参数:**
C
chyyy0213 已提交
2332

Z
zhengjiangliang 已提交
2333 2334 2335
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path     | string                                          | 是   | 设置加载页面的路径。                                         |
L
leafly2021 已提交
2336
| storage  | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
Z
zhengjiangliang 已提交
2337 2338 2339 2340 2341 2342 2343 2344 2345 2346
| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |

**错误码:**

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

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

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

Z
zhengjiangliang 已提交
2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367
```ts
class myAbility extends Ability {
    storage : LocalStorage
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate('storageSimpleProp',121);
        console.log('onWindowStageCreate');
        try {
            windowStage.loadContent('pages/page2',this.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));
        };
G
ge-yafang 已提交
2368
    }
Z
zhengjiangliang 已提交
2369
}
G
ge-yafang 已提交
2370
```
C
chyyy0213 已提交
2371

Z
zhengjiangliang 已提交
2372
### loadContent<sup>9+</sup>
C
chyyy0213 已提交
2373

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

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

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

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

L
leafly2021 已提交
2382
**参数:**
C
chyyy0213 已提交
2383

Z
zhengjiangliang 已提交
2384 2385 2386
| 参数名  | 类型                                            | 必填 | 说明                                                         |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path    | string                                          | 是   | 设置加载页面的路径。                                         |
L
leafly2021 已提交
2387
| storage | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
C
chyyy0213 已提交
2388

L
leafly2021 已提交
2389
**返回值:**
C
chyyy0213 已提交
2390

G
ge-yafang 已提交
2391 2392 2393
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2394

Z
zhengjiangliang 已提交
2395 2396 2397 2398 2399 2400 2401 2402 2403
**错误码:**

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

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

L
leafly2021 已提交
2404
**示例:**
C
chyyy0213 已提交
2405

Z
zhengjiangliang 已提交
2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426
```ts
class myAbility extends Ability {
    storage : LocalStorage
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate('storageSimpleProp',121);
        console.log('onWindowStageCreate');
        let windowClass = null;
        try {
            let promise = windowStage.loadContent('pages/page2',this.storage);
            promise.then(()=> {
                windowClass = data;
                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));
        };
    }
}
G
ge-yafang 已提交
2427
```
Z
zengyawen 已提交
2428

Z
zhengjiangliang 已提交
2429
### isWindowShowing<sup>9+</sup>
Z
zengyawen 已提交
2430

Z
zhengjiangliang 已提交
2431
isWindowShowing(): boolean
Z
zengyawen 已提交
2432

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

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

Z
zhengjiangliang 已提交
2437
**返回值:**
C
chyyy0213 已提交
2438

Z
zhengjiangliang 已提交
2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449
| 类型 | 说明 |
| ------- | ------------------------------------------------------------------ |
| boolean | 当前窗口是否已显示。true表示当前窗口已显示,false则表示当前窗口未显示。 |

**错误码:**

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

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

L
leafly2021 已提交
2451
**示例:**
C
chyyy0213 已提交
2452

G
ge-yafang 已提交
2453
```js
2454
try {
Z
zhengjiangliang 已提交
2455 2456
    let data = windowClass.isWindowShowing();
    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
2457
} catch (exception) {
Z
zhengjiangliang 已提交
2458
    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(exception));
G
ge-yafang 已提交
2459 2460
};
```
C
chyyy0213 已提交
2461

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

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

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

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

L
leafly2021 已提交
2470
**参数:**
C
chyyy0213 已提交
2471

Z
zhengjiangliang 已提交
2472 2473 2474 2475
| 参数名   | 类型                           | 必填 | 说明                                                     |
| -------- | ------------------------------ | ---- | -------------------------------------------------------- |
| type     | string                         | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
| callback | Callback&lt;[Size](#size7)&gt; | 是   | 回调函数。返回当前的窗口尺寸。                           |
2476 2477 2478 2479 2480

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2481 2482
    windowClass.on('windowSizeChange', (data) => {
        console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
2483 2484
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2485
    console.error('Failed to enable the listener for window size changes. Cause: ' + JSON.stringify(exception));
2486 2487 2488
};
```

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

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

Z
zhengjiangliang 已提交
2493
关闭窗口尺寸变化的监听。
2494 2495 2496 2497 2498

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

**参数:**

Z
zhengjiangliang 已提交
2499 2500 2501 2502
| 参数名   | 类型                          | 必填 | 说明                                                     |
| -------- | ----------------------------- | ---- | -------------------------------------------------------- |
| type     | string                        | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
| callback | Callback&lt;[Size](#size)&gt; | 否   | 回调函数。返回当前的窗口尺寸。                           |
2503 2504 2505 2506

**示例:**

```js
Z
zhengjiangliang 已提交
2507 2508 2509 2510
try {
    windowClass.off('windowSizeChange');
} catch (exception) {
    console.error('Failed to disable the listener for window size changes. Cause: ' + JSON.stringify(exception));
2511 2512 2513
};
```

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

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

Z
zhengjiangliang 已提交
2518
开启系统规避区变化的监听。
2519 2520 2521 2522 2523

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

**参数:**

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

L
leafly2021 已提交
2529
**示例:**
G
ge-yafang 已提交
2530 2531

```js
Z
zhengjiangliang 已提交
2532 2533 2534 2535 2536 2537 2538
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));
G
ge-yafang 已提交
2539 2540
};
```
Z
zengyawen 已提交
2541

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

Z
zhengjiangliang 已提交
2544
off(type: 'avoidAreaChange', callback: Callback&lt;{AvoidAreaType, AvoidArea}&gt;): void
2545

Z
zhengjiangliang 已提交
2546
关闭系统规避区变化的监听。
2547 2548 2549 2550 2551

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

**参数:**

Z
zhengjiangliang 已提交
2552 2553 2554 2555
| 参数名   | 类型                                                                          | 必填  | 说明                                 |
| -------- |-----------------------------------------------------------------------------|-----|------------------------------------|
| type     | string                                                                      | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt; | 否   | 回调函数。返回当前规避区以及规避区类型。|
2556 2557 2558 2559 2560

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2561
    windowClass.off('avoidAreaChange');
2562
} catch (exception) {
Z
zhengjiangliang 已提交
2563
    console.error('Failed to disable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
2564 2565 2566
};
```

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

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

Z
zhengjiangliang 已提交
2571
开启键盘高度变化的监听。
2572 2573 2574 2575 2576

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

**参数:**

Z
zhengjiangliang 已提交
2577 2578 2579 2580
| 参数名   | 类型                | 必填 | 说明                                                         |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
| callback | Callback&lt;number&gt; | 是   | 回调函数。返回当前的键盘高度。                               |
2581 2582 2583 2584 2585

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2586 2587
    windowClass.on('keyboardHeightChange', (data) => {
        console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
2588 2589
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2590
    console.error('Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
2591 2592 2593
};
```

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

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

Z
zhengjiangliang 已提交
2598
关闭键盘高度变化的监听。
X
xpeng 已提交
2599 2600 2601

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

L
leafly2021 已提交
2602
**参数:**
X
xpeng 已提交
2603

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

L
leafly2021 已提交
2609
**示例:**
X
xpeng 已提交
2610 2611

```js
2612
try {
Z
zhengjiangliang 已提交
2613
    windowClass.off('keyboardHeightChange');
2614
} catch (exception) {
Z
zhengjiangliang 已提交
2615
    console.error('Failed to disable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
2616
};
X
xpeng 已提交
2617 2618
```

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

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

Z
zhengjiangliang 已提交
2623 2624 2625
开启本窗口区域范围外的点击事件的监听。

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

X
xpeng 已提交
2627 2628
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
2629
**参数:**
X
xpeng 已提交
2630

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

L
leafly2021 已提交
2636
**示例:**
X
xpeng 已提交
2637 2638

```js
2639
try {
Z
zhengjiangliang 已提交
2640 2641
    windowClass.on('touchOutside', () => {
        console.info('touch outside');
2642 2643
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2644
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2645
};
X
xpeng 已提交
2646 2647
```

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

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

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

Z
zhengjiangliang 已提交
2654
**系统接口:** 此接口为系统接口。
2655

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

L
leafly2021 已提交
2658
**参数:**
Z
zengyawen 已提交
2659

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

L
leafly2021 已提交
2665
**示例:**
Z
zengyawen 已提交
2666

G
ge-yafang 已提交
2667
```js
Z
zhengjiangliang 已提交
2668 2669 2670 2671 2672
try {
    windowClass.off('touchOutside');
} catch (exception) {
    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
};
G
ge-yafang 已提交
2673
```
C
chyyy0213 已提交
2674

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

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

Z
zhengjiangliang 已提交
2679
开启截屏事件的监听。
2680

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

L
leafly2021 已提交
2683
**参数:**
C
chyyy0213 已提交
2684

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

Z
zhengjiangliang 已提交
2690
**示例:**
C
chyyy0213 已提交
2691

Z
zhengjiangliang 已提交
2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715
```js
try {
    windowClass.on('screenshot', () => {
        console.info('screenshot happened');
    });
} catch (exception) {
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
};
```

### 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 已提交
2716

L
leafly2021 已提交
2717
**示例:**
C
chyyy0213 已提交
2718

G
ge-yafang 已提交
2719
```js
Z
zhengjiangliang 已提交
2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734
let callback = ()=>{
    console.info('screenshot happened');
}
try {
    windowClass.on('screenshot', callback);
} catch (exception) {
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
};
try {
    windowClass.off('screenshot', callback);
    // 如果通过on开启多个callback进行监听,同时关闭所有监听:
    windowClass.off('screenshot');
} catch (exception) {
    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
};
G
ge-yafang 已提交
2735
```
2736

Z
zhengjiangliang 已提交
2737
### on('dialogTargetTouch')<sup>9+</sup>
2738

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

Z
zhengjiangliang 已提交
2741
开启模态窗口目标窗口的点击事件的监听。
2742 2743 2744 2745 2746

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

**参数:**

Z
zhengjiangliang 已提交
2747 2748 2749 2750
| 参数名   | 类型                 | 必填 | 说明                                                          |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'dialogTargetTouch',即模态窗口目标窗口的点击事件。 |
| callback | Callback&lt;void&gt;| 是   | 回调函数。当点击事件发生在模态窗口目标窗口的回调。 |
2751 2752 2753 2754 2755

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2756 2757
    windowClass.on('dialogTargetTouch', () => {
        console.info('touch dialog target');
2758 2759
    });
} catch (exception) {
Z
zhengjiangliang 已提交
2760
    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2761 2762 2763
};
```

Z
zhengjiangliang 已提交
2764
### off('dialogTargetTouch')<sup>9+</sup>
2765

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

Z
zhengjiangliang 已提交
2768
关闭模态窗口目标窗口的点击事件的监听。
2769 2770 2771 2772 2773

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

**参数:**

Z
zhengjiangliang 已提交
2774 2775 2776 2777
| 参数名   | 类型                    | 必填 | 说明                                                          |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'dialogTargetTouch',即模态窗口目标窗口的点击事件。 |
| callback | Callback&lt;void&gt;      | 否   | 回调函数。当点击事件发生在模态窗口目标窗口的回调。 |
2778 2779 2780 2781 2782

**示例:**

```js
try {
Z
zhengjiangliang 已提交
2783
    windowClass.off('dialogTargetTouch');
2784
} catch (exception) {
Z
zhengjiangliang 已提交
2785
    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
2786 2787 2788
};
```

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

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

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

Z
zhengjiangliang 已提交
2795
**系统接口:** 此接口为系统接口。
G
ge-yafang 已提交
2796 2797 2798

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

L
leafly2021 已提交
2799
**参数:**
G
ge-yafang 已提交
2800

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

Z
zhengjiangliang 已提交
2807
**错误码:**
G
ge-yafang 已提交
2808

Z
zhengjiangliang 已提交
2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835
以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)

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

**示例:**

```js
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 已提交
2836 2837
    }
}
Z
zhengjiangliang 已提交
2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851
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));
};
G
ge-yafang 已提交
2852 2853
```

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

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

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

Z
zhengjiangliang 已提交
2860
**系统接口:** 此接口为系统接口。
G
ge-yafang 已提交
2861 2862 2863

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

L
leafly2021 已提交
2864
**参数:**
G
ge-yafang 已提交
2865

Z
zhengjiangliang 已提交
2866 2867 2868 2869
| 参数名       | 类型                      | 必填 | 说明                  |
| ----------- | ------------------------- | ---- | -------------------- |
| token       | [rpc.RemoteObject](js-apis-rpc.md#remoteobject) | 是   | 目标窗口token值。 |
| deathCallback | Callback&lt;void&gt;        | 是   | 模态窗口销毁监听。 |
G
ge-yafang 已提交
2870 2871 2872 2873 2874 2875

**返回值:**

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

Z
zhengjiangliang 已提交
2877 2878 2879 2880 2881 2882 2883 2884 2885
**错误码:**

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

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

G
ge-yafang 已提交
2886 2887
**示例:**

Z
zhengjiangliang 已提交
2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905
```js
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 已提交
2906 2907
    }
}
Z
zhengjiangliang 已提交
2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920
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));
};
G
ge-yafang 已提交
2921
```
2922

Z
zhengjiangliang 已提交
2923
### isWindowSupportWideGamut<sup>9+</sup>
C
chyyy0213 已提交
2924

Z
zhengjiangliang 已提交
2925
isWindowSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
Z
zengyawen 已提交
2926

Z
zhengjiangliang 已提交
2927
判断当前窗口是否支持广色域模式,使用callback异步回调。
2928

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

L
leafly2021 已提交
2931
**参数:**
C
chyyy0213 已提交
2932

Z
zhengjiangliang 已提交
2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | -- | -------------------------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |

**错误码:**

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

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

L
leafly2021 已提交
2945
**示例:**
C
chyyy0213 已提交
2946

G
ge-yafang 已提交
2947
```js
Z
zhengjiangliang 已提交
2948
windowClass.isWindowSupportWideGamut((err, data) => {
G
ge-yafang 已提交
2949
    if (err.code) {
Z
zhengjiangliang 已提交
2950
        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
2951 2952
        return;
    }
Z
zhengjiangliang 已提交
2953
    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
2954 2955
});
```
C
chyyy0213 已提交
2956

Z
zhengjiangliang 已提交
2957
### isWindowSupportWideGamut<sup>9+</sup>
C
chyyy0213 已提交
2958

Z
zhengjiangliang 已提交
2959
isWindowSupportWideGamut(): Promise&lt;boolean&gt;
C
chyyy0213 已提交
2960

Z
zhengjiangliang 已提交
2961
判断当前窗口是否支持广色域模式,使用Promise异步回调。
2962

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

L
leafly2021 已提交
2965
**返回值:**
C
chyyy0213 已提交
2966

Z
zhengjiangliang 已提交
2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |

**错误码:**

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

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

L
leafly2021 已提交
2979
**示例:**
C
chyyy0213 已提交
2980

G
ge-yafang 已提交
2981
```js
Z
zhengjiangliang 已提交
2982
let promise = windowClass.isWindowSupportWideGamut();
G
ge-yafang 已提交
2983
promise.then((data)=> {
Z
zhengjiangliang 已提交
2984
    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
2985
}).catch((err)=>{
Z
zhengjiangliang 已提交
2986
    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
2987 2988
});
```
Z
zengyawen 已提交
2989

Z
zhengjiangliang 已提交
2990
### setWindowColorSpace<sup>9+</sup>
2991

Z
zhengjiangliang 已提交
2992
setWindowColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
2993

Z
zhengjiangliang 已提交
2994
设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。
2995 2996 2997

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

Z
zhengjiangliang 已提交
2998
**参数:**
2999

Z
zhengjiangliang 已提交
3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | -- | ----------- |
| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式。 |
| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。   |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
3012 3013 3014 3015 3016

**示例:**

```js
try {
Z
zhengjiangliang 已提交
3017 3018 3019 3020 3021 3022 3023
    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.');
    });
3024
} catch (exception) {
Z
zhengjiangliang 已提交
3025
    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
3026 3027 3028
};
```

Z
zhengjiangliang 已提交
3029
### setWindowColorSpace<sup>9+</sup>
Z
zengyawen 已提交
3030

Z
zhengjiangliang 已提交
3031
setWindowColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
Z
zengyawen 已提交
3032

Z
zhengjiangliang 已提交
3033
设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。
C
chyyy0213 已提交
3034

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

L
leafly2021 已提交
3037
**参数:**
C
chyyy0213 已提交
3038

Z
zhengjiangliang 已提交
3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | -- | ------------- |
| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式。 |

**返回值:**

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

**错误码:**

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

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

L
leafly2021 已提交
3057
**示例:**
C
chyyy0213 已提交
3058

G
ge-yafang 已提交
3059
```js
3060
try {
Z
zhengjiangliang 已提交
3061 3062 3063 3064 3065
    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));
3066 3067
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3068
    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
3069
};
G
ge-yafang 已提交
3070
```
Z
zengyawen 已提交
3071

Z
zhengjiangliang 已提交
3072
### getWindowColorSpace<sup>9+</sup>
Z
zengyawen 已提交
3073

Z
zhengjiangliang 已提交
3074
getWindowColorSpace(): ColorSpace
Z
zengyawen 已提交
3075

Z
zhengjiangliang 已提交
3076
获取当前窗口色域模式。
C
chyyy0213 已提交
3077

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

Z
zhengjiangliang 已提交
3080
**返回值:**
C
chyyy0213 已提交
3081

Z
zhengjiangliang 已提交
3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092
| 类型 | 说明 |
| ------------------------- | ------------- |
| [ColorSpace](#colorspace) | 当前色域模式。 |

**错误码:**

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

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

L
leafly2021 已提交
3094
**示例:**
C
chyyy0213 已提交
3095

G
ge-yafang 已提交
3096
```js
Z
zhengjiangliang 已提交
3097
let colorSpace = windowClass.getWindowColorSpace();
G
ge-yafang 已提交
3098
```
Z
zengyawen 已提交
3099

Z
zhengjiangliang 已提交
3100
### setWindowBackgroundColor<sup>9+</sup>
C
chyyy0213 已提交
3101

Z
zhengjiangliang 已提交
3102
setWindowBackgroundColor(color: string): void
C
chyyy0213 已提交
3103

Z
zhengjiangliang 已提交
3104
设置窗口的背景色。Stage模型下,该接口需要在[loadContent](#loadcontent9)之后使用。
C
chyyy0213 已提交
3105

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

L
leafly2021 已提交
3108
**参数:**
C
chyyy0213 已提交
3109

Z
zhengjiangliang 已提交
3110 3111 3112
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | -- | ----------------------------------------------------------------------- |
| color | string | 是 | 需要设置的背景色,为十六进制颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
C
chyyy0213 已提交
3113

Z
zhengjiangliang 已提交
3114
**错误码:**
C
chyyy0213 已提交
3115

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

Z
zhengjiangliang 已提交
3118 3119 3120
| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
C
chyyy0213 已提交
3121

Z
zhengjiangliang 已提交
3122
**示例:**
C
chyyy0213 已提交
3123

Z
zhengjiangliang 已提交
3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137
```js
let color = '#00ff33';
try {
    windowClass.setWindowBackgroundColor(color);
} catch (exception) {
    console.error('Failed to set the background color. Cause: ' + JSON.stringify(exception));
};
```

### setWindowBrightness<sup>9+</sup>

setWindowBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void

设置屏幕亮度值,使用callback异步回调。
C
chyyy0213 已提交
3138

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

L
leafly2021 已提交
3141
**参数:**
C
chyyy0213 已提交
3142

Z
zhengjiangliang 已提交
3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | -- | --------------------------------- |
| brightness | number                    | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。                         |

**错误码:**

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

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

L
leafly2021 已提交
3157
**示例:**
C
chyyy0213 已提交
3158

G
ge-yafang 已提交
3159
```js
Z
zhengjiangliang 已提交
3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171
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));
};
G
ge-yafang 已提交
3172
```
C
chyyy0213 已提交
3173

Z
zhengjiangliang 已提交
3174
### setWindowBrightness<sup>9+</sup>
3175

Z
zhengjiangliang 已提交
3176
setWindowBrightness(brightness: number): Promise&lt;void&gt;
3177

Z
zhengjiangliang 已提交
3178
设置屏幕亮度值,使用Promise异步回调。
3179 3180 3181 3182 3183

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

**参数:**

Z
zhengjiangliang 已提交
3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | -- | --------------------------------- |
| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |

**返回值:**

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

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
3202 3203 3204 3205

**示例:**

```js
Z
zhengjiangliang 已提交
3206
let brightness = 1;
3207
try {
Z
zhengjiangliang 已提交
3208 3209 3210 3211 3212
    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));
3213 3214
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3215
    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
3216
};
3217 3218
```

Z
zhengjiangliang 已提交
3219
### setWindowFocusable<sup>9+</sup>
3220

Z
zhengjiangliang 已提交
3221
setWindowFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
3222

Z
zhengjiangliang 已提交
3223
设置点击时是否支持切换焦点窗口,使用callback异步回调。
3224 3225 3226 3227 3228

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

**参数:**

Z
zhengjiangliang 已提交
3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | -- | ------------------------------------------------------- |
| isFocusable | boolean                   | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
| callback    | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                               |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
3242 3243 3244 3245

**示例:**

```js
Z
zhengjiangliang 已提交
3246
let isFocusable= true;
3247
try {
Z
zhengjiangliang 已提交
3248 3249 3250 3251 3252 3253 3254
    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.');
    });
3255
} catch (exception) {
Z
zhengjiangliang 已提交
3256
    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
3257
};
3258 3259
```

Z
zhengjiangliang 已提交
3260
### setWindowFocusable<sup>9+</sup>
C
chyyy0213 已提交
3261

Z
zhengjiangliang 已提交
3262
setWindowFocusable(isFocusable: boolean): Promise&lt;void&gt;
C
chyyy0213 已提交
3263

Z
zhengjiangliang 已提交
3264
设置点击时是否支持切换焦点窗口,使用Promise异步回调。
C
chyyy0213 已提交
3265

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

L
leafly2021 已提交
3268
**参数:**
C
chyyy0213 已提交
3269

Z
zhengjiangliang 已提交
3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | -- | -------------------------------------------------------- |
| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。  |

**返回值:**

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

**错误码:**

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

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

L
leafly2021 已提交
3289
**示例:**
C
chyyy0213 已提交
3290

G
ge-yafang 已提交
3291
```js
Z
zhengjiangliang 已提交
3292
let isFocusable= true;
3293
try {
Z
zhengjiangliang 已提交
3294 3295 3296 3297 3298
    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));
3299 3300
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3301
    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
3302
};
G
ge-yafang 已提交
3303
```
C
chyyy0213 已提交
3304

Z
zhengjiangliang 已提交
3305
### setWindowKeepScreenOn<sup>9+</sup>
C
chyyy0213 已提交
3306

Z
zhengjiangliang 已提交
3307
setWindowKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
3308

Z
zhengjiangliang 已提交
3309
设置屏幕是否为常亮状态,使用callback异步回调。
C
chyyy0213 已提交
3310

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

L
leafly2021 已提交
3313
**参数:**
C
chyyy0213 已提交
3314

Z
zhengjiangliang 已提交
3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------- | -- | ---------------------------------------------------- |
| isKeepScreenOn | boolean                   | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。  |
| callback       | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                            |

**错误码:**

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

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

L
leafly2021 已提交
3329
**示例:**
C
chyyy0213 已提交
3330

G
ge-yafang 已提交
3331
```js
Z
zhengjiangliang 已提交
3332
let isKeepScreenOn = true;
3333
try {
Z
zhengjiangliang 已提交
3334 3335 3336 3337 3338 3339 3340
    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.');
    });
3341
} catch (exception) {
Z
zhengjiangliang 已提交
3342
    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
3343
};
G
ge-yafang 已提交
3344
```
C
chyyy0213 已提交
3345

Z
zhengjiangliang 已提交
3346
### setWindowKeepScreenOn<sup>9+</sup>
D
dubj 已提交
3347

Z
zhengjiangliang 已提交
3348
setWindowKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
L
leafly2021 已提交
3349

Z
zhengjiangliang 已提交
3350
设置屏幕是否为常亮状态,使用Promise异步回调。
D
dubj 已提交
3351 3352 3353 3354 3355

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

**参数:**

Z
zhengjiangliang 已提交
3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------- | -- | --------------------------------------------------- |
| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |

**返回值:**

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

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
D
dubj 已提交
3374 3375 3376 3377

**示例:**

```js
Z
zhengjiangliang 已提交
3378
let isKeepScreenOn = true;
3379
try {
Z
zhengjiangliang 已提交
3380 3381 3382 3383 3384
    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));
3385 3386
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3387
    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
3388
};
D
dubj 已提交
3389 3390
```

Z
zhengjiangliang 已提交
3391
### setWakeUpScreen()<sup>9+</sup>
D
dubj 已提交
3392

Z
zhengjiangliang 已提交
3393
setWakeUpScreen(wakeUp: boolean): void
D
dubj 已提交
3394

Z
zhengjiangliang 已提交
3395
窗口唤醒屏幕。
L
leafly2021 已提交
3396

3397
**系统接口:** 此接口为系统接口。
D
dubj 已提交
3398 3399 3400 3401 3402

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

**参数:**

Z
zhengjiangliang 已提交
3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414
| 参数名           | 类型    | 必填 | 说明                         |
| ---------------- | ------- | ---- | ---------------------------- |
| wakeUp           | boolean | 是   | 是否设置唤醒屏幕。true表示唤醒;false表示不唤醒。  |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
D
dubj 已提交
3415 3416 3417 3418

**示例:**

```js
Z
zhengjiangliang 已提交
3419
let wakeUp = true;
3420
try {
Z
zhengjiangliang 已提交
3421
    windowClass.setWakeUpScreen(wakeUp);
3422
} catch (exception) {
Z
zhengjiangliang 已提交
3423
    console.error('Failed to wake up the screen. Cause: ' + JSON.stringify(exception));
3424
};
D
dubj 已提交
3425 3426
```

Z
zhengjiangliang 已提交
3427
### setWindowPrivacyMode<sup>9+</sup>
3428

Z
zhengjiangliang 已提交
3429
setWindowPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
3430

Z
zhengjiangliang 已提交
3431
设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3432 3433 3434

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

Z
zhengjiangliang 已提交
3435 3436
**需要权限:** ohos.permission.PRIVACE_WINDOW

3437 3438
**参数:**

Z
zhengjiangliang 已提交
3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------------------------- | -- | ------------------------------------------------------ |
| isPrivacyMode | boolean                   | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。  |
| callback      | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                              |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
3451 3452 3453 3454

**示例:**

```js
Z
zhengjiangliang 已提交
3455
let isPrivacyMode = true;
3456
try {
Z
zhengjiangliang 已提交
3457 3458 3459 3460 3461 3462
    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.');
3463 3464
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3465
    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
3466
};
3467 3468
```

Z
zhengjiangliang 已提交
3469
### setWindowPrivacyMode<sup>9+</sup>
3470

Z
zhengjiangliang 已提交
3471
setWindowPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
3472

Z
zhengjiangliang 已提交
3473
设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3474 3475 3476

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

Z
zhengjiangliang 已提交
3477 3478
**需要权限:** ohos.permission.PRIVACE_WINDOW

3479 3480
**参数:**

Z
zhengjiangliang 已提交
3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------- | -- | ----------------------------------------------------- |
| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |

**返回值:**

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

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
3498 3499 3500 3501

**示例:**

```js
Z
zhengjiangliang 已提交
3502
let isPrivacyMode = true;
3503
try {
Z
zhengjiangliang 已提交
3504 3505 3506 3507 3508 3509
    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));
    });
3510
} catch (exception) {
Z
zhengjiangliang 已提交
3511
    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
3512
};
3513 3514
```

Z
zhengjiangliang 已提交
3515 3516
### setSnapshotSkip<sup>9+</sup>
setSnapshotSkip(isSkip: boolean): void
3517

Z
zhengjiangliang 已提交
3518
截屏录屏是否忽略当前窗口。
3519

Z
zhengjiangliang 已提交
3520
**系统接口:** 此接口为系统接口。
3521 3522 3523 3524 3525

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

**参数:**

Z
zhengjiangliang 已提交
3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569
| 参数名        | 类型    | 必填 | 说明                 |
| ------------- | ------- | ---- | -------------------- |
| 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.               |
| 1300003 | This window manager service work abnormally. |
3570 3571 3572 3573

**示例:**

```js
Z
zhengjiangliang 已提交
3574
let isTouchable = true;
3575
try {
Z
zhengjiangliang 已提交
3576 3577 3578 3579 3580 3581
    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.');
3582 3583
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3584
    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
3585
};
3586 3587
```

Z
zhengjiangliang 已提交
3588
### setWindowTouchable<sup>9+</sup>
3589

Z
zhengjiangliang 已提交
3590
setWindowTouchable(isTouchable: boolean): Promise&lt;void&gt;
3591

Z
zhengjiangliang 已提交
3592
设置窗口是否为可触状态,使用Promise异步回调。
3593 3594 3595 3596 3597

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

**参数:**

Z
zhengjiangliang 已提交
3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | -- | ----------------------------------------------- |
| isTouchable | boolean | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 |

**返回值:**

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

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal.               |
| 1300003 | This window manager service work abnormally. |
3616 3617 3618 3619

**示例:**

```js
Z
zhengjiangliang 已提交
3620
let isTouchable = true;
3621
try {
Z
zhengjiangliang 已提交
3622 3623 3624 3625 3626 3627
    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));
    });
3628
} catch (exception) {
Z
zhengjiangliang 已提交
3629
    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
3630
};
3631 3632
```

Z
zhengjiangliang 已提交
3633
### setForbidSplitMove<sup>9+</sup>
3634

Z
zhengjiangliang 已提交
3635
setForbidSplitMove(isForbidSplitMove: boolean, callback: AsyncCallback&lt;void&gt;): void
3636

Z
zhengjiangliang 已提交
3637
设置窗口在分屏模式下是否被禁止移动,使用callback异步回调。
3638

3639
**系统接口:** 此接口为系统接口。
3640 3641 3642

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

L
leafly2021 已提交
3643
**参数:**
3644

Z
zhengjiangliang 已提交
3645
| 参数名      | 类型                      | 必填 | 说明                 |
3646
| ----------- | ------------------------- | ---- | -------------------- |
Z
zhengjiangliang 已提交
3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657
| isForbidSplitMove | boolean                   | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |

**错误码:**

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

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

L
leafly2021 已提交
3659
**示例:**
3660 3661

```js
Z
zhengjiangliang 已提交
3662
let isForbidSplitMove = true;
3663
try {
Z
zhengjiangliang 已提交
3664
    windowClass.setForbidSplitMove(isForbidSplitMove, (err) => {
3665
        if (err.code) {
Z
zhengjiangliang 已提交
3666
            console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(err));
3667 3668
            return;
        }
Z
zhengjiangliang 已提交
3669
        console.info('Succeeded in forbidding window moving in split screen mode.');
3670 3671
    });
} catch (exception) {
Z
zhengjiangliang 已提交
3672
    console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception));
3673
};
3674 3675
```

Z
zhengjiangliang 已提交
3676
### setForbidSplitMove<sup>9+</sup>
3677

Z
zhengjiangliang 已提交
3678
setForbidSplitMove(isForbidSplitMove: boolean): Promise&lt;void&gt;
3679

Z
zhengjiangliang 已提交
3680
设置窗口在分屏模式下是否被禁止移动,使用Promise异步回调。
3681

3682
**系统接口:** 此接口为系统接口。
3683 3684 3685

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

L
leafly2021 已提交
3686
**参数:**
3687

Z
zhengjiangliang 已提交
3688 3689 3690
| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
| isForbidSplitMove | boolean | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
3691

L
leafly2021 已提交
3692
**返回值:**
3693 3694 3695 3696 3697

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

Z
zhengjiangliang 已提交
3698 3699 3700 3701 3702 3703 3704 3705 3706
**错误码:**

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

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

L
leafly2021 已提交
3707
**示例:**
3708 3709

```js
Z
zhengjiangliang 已提交
3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751
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));
};
```

### 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
windowClass.snapshot((err, data) => {
    if (err.code) {
        console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
        return;
Z
zhengjiangliang 已提交
3752
    }
Z
zhengjiangliang 已提交
3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859
    console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
    data.release(); // PixelMap使用完后及时释放内存
});
```

### 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

设置窗口透明度。

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

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

**参数:**

| 参数名  | 类型   | 必填 | 说明                  |
| ------- | ------ | ---- | --------------------- |
| opacity | number | 是   | 透明度,范围0.0~1.0。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |

**示例:**

```js
try {
    windowClass.opacity(0.5);
} catch (exception) {
    console.error('Failed to opacity. Cause: ' + JSON.stringify(exception));
};
```

### scale<sup>9+</sup>

scale(scaleOptions: ScaleOptions): void

设置窗口缩放参数。

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

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

**参数:**

| 参数名       | 类型                           | 必填 | 说明       |
| ------------ | ------------------------------ | ---- | ---------- |
| scaleOptions | [ScaleOptions](#scaleoptions9) | 是   | 缩放参数。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |

**示例:**

```js
let obj : window.ScaleOptions = {
  x : 2.0,
  y : 1.0,
  pivotX = 0.5;
  pivotY = 0.5;
Z
zhengjiangliang 已提交
3860
}
Z
zhengjiangliang 已提交
3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901
try {
    windowClass.scale(obj);
} catch (exception) {
    console.error('Failed to scale. Cause: ' + JSON.stringify(exception));
};
```

### rotate<sup>9+</sup>

rotate(rotateOptions: RotateOptions): void

设置窗口旋转参数。

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

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

**参数:**

| 参数名        | 类型                             | 必填 | 说明       |
| ------------- | -------------------------------- | ---- | ---------- |
| rotateOptions | [RotateOptions](#rotateoptions9) | 是   | 旋转参数。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |

**示例:**

```js
let obj : window.RotateOptions = {
  x : 1.0,
  y : 1.0,
  z : 45.0,
  pivotX = 0.5;
  pivotY = 0.5;
3902
}
3903
try {
Z
zhengjiangliang 已提交
3904
    windowClass.rotate(obj);
3905
} catch (exception) {
Z
zhengjiangliang 已提交
3906
    console.error('Failed to rotate. Cause: ' + JSON.stringify(exception));
3907
};
3908 3909
```

Z
zhengjiangliang 已提交
3910
### translate<sup>9+</sup>
Z
zengyawen 已提交
3911

Z
zhengjiangliang 已提交
3912
translate(translateOptions: TranslateOptions): void
C
chyyy0213 已提交
3913

Z
zhengjiangliang 已提交
3914
设置窗口平移参数。
Z
zengyawen 已提交
3915

Z
zhengjiangliang 已提交
3916
**系统接口:** 此接口为系统接口。
3917

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

L
leafly2021 已提交
3920
**参数:**
C
chyyy0213 已提交
3921

Z
zhengjiangliang 已提交
3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933
| 参数名           | 类型                                   | 必填 | 说明       |
| ---------------- | -------------------------------------- | ---- | ---------- |
| translateOptions | [TranslateOptions](#translateoptions9) | 是   | 平移参数。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |
Z
zengyawen 已提交
3934

L
leafly2021 已提交
3935
**示例:**
C
chyyy0213 已提交
3936

G
ge-yafang 已提交
3937
```js
Z
zhengjiangliang 已提交
3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003
let obj : window.TranslateOptions = {
  x : 100.0,
  y : 0.0,
  z : 0.0
}
try {
    windowClass.translate(obj);
} catch (exception) {
    console.error('Failed to translate. Cause: ' + JSON.stringify(exception));
};
```

###  getTransitionController<sup>9+</sup>

 getTransitionController(): TransitionController

获取窗口属性转换控制器。

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

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

**返回值:**

| 类型                                           | 说明             |
| ---------------------------------------------- | ---------------- |
| [TransitionController](#transitioncontroller9) | 属性转换控制器。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |

**示例:**

```js
let controller = windowClass.getTransitionController(); // 获取属性转换控制器
controller.animationForHidden = (context : window.TransitionContext) => {
	let toWindow = context.toWindow
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
        onFinish: ()=> {
            context.completeTransition(true)
        }    
      }, () => {
        let obj : window.TranslateOptions = {
          x : 100.0,
          y : 0.0,
          z : 0.0
        }
        toWindow.translate(obj); // 设置动画过程中的属性转换
        console.info('toWindow translate end');
      }
    )
    console.info('complete transition end');
}
windowClass.hideWithAnimation((err, data) => {
G
ge-yafang 已提交
4004
    if (err.code) {
Z
zhengjiangliang 已提交
4005
        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4006 4007
        return;
    }
Z
zhengjiangliang 已提交
4008
    console.info('Succeeded in showing the window with animation. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
4009 4010
})
```
Z
zengyawen 已提交
4011

Z
zhengjiangliang 已提交
4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088
### 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. |
| 1300004 | This operation is not access.  |

**示例:**

```js
try {
    windowClass.setBlur(4.0);
} catch (exception) {
    console.error('Failed to set blur. Cause: ' + JSON.stringify(exception));
};
```

### 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. |
| 1300004 | This operation is not access.  |

**示例:**

```js
try {
    windowClass.setBackdropBlur(4.0);
} catch (exception) {
    console.error('Failed to set backdrop blur. Cause: ' + JSON.stringify(exception));
};
```

### setBackdropBlurStyle<sup>9+</sup>

setBackdropBlurStyle(blurStyle: BlurStyle): void

设置窗口背景模糊类型。

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

Z
zhengjiangliang 已提交
4090
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
4091

Z
zhengjiangliang 已提交
4092
**参数:**
C
chyyy0213 已提交
4093

Z
zhengjiangliang 已提交
4094 4095 4096
| 参数名    | 类型      | 必填 | 说明                   |
| --------- | --------- | ---- | ---------------------- |
| blurStyle | [BlurStyle](#blurstyle9) | 是   | 表示窗口背景模糊类型。 |
4097

Z
zhengjiangliang 已提交
4098
**错误码:**
C
chyyy0213 已提交
4099

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

Z
zhengjiangliang 已提交
4102 4103 4104 4105
| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |
C
chyyy0213 已提交
4106

L
leafly2021 已提交
4107
**示例:**
C
chyyy0213 已提交
4108

G
ge-yafang 已提交
4109
```js
Z
zhengjiangliang 已提交
4110 4111 4112 4113 4114
try {
    windowClass.setBackdropBlurStyle(window.BlurType.THIN);
} catch (exception) {
    console.error('Failed to set backdrop blur style. Cause: ' + JSON.stringify(exception));
};
G
ge-yafang 已提交
4115
```
C
chyyy0213 已提交
4116

Z
zhengjiangliang 已提交
4117
### setShadow<sup>9+</sup>
4118

Z
zhengjiangliang 已提交
4119
setShadow(radius: number, color?: string, offsetX?: number, offsetY?: number): void
4120

Z
zhengjiangliang 已提交
4121 4122 4123
设置窗口边缘阴影。

**系统接口:** 此接口为系统接口。
4124 4125 4126 4127 4128

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

**参数:**

Z
zhengjiangliang 已提交
4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143
| 参数名  | 类型   | 必填 | 说明                                                         |
| ------- | ------ | ---- | ------------------------------------------------------------ |
| radius  | number | 是   | 表示窗口边缘阴影的模糊半径,取值范围为大于等于0,0表示关闭窗口边缘阴影。 |
| color   | string | 否   | 表示窗口边缘阴影的颜色,为十六进制颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
| offsetX | number | 否   | 表示窗口边缘阴影的X轴的偏移量,单位为px。                    |
| offsetY | number | 否   | 表示窗口边缘阴影的Y轴的偏移量,单位为px。                    |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |
4144 4145 4146 4147

**示例:**

```js
Z
zhengjiangliang 已提交
4148 4149 4150 4151 4152
try {
    windowClass.setShadow(4.0, '#FF00FF00', 2, 3);
} catch (exception) {
    console.error('Failed to set shadow. Cause: ' + JSON.stringify(exception));
};
4153 4154
```

Z
zhengjiangliang 已提交
4155
### setCornerRadius<sup>9+</sup>
4156

Z
zhengjiangliang 已提交
4157
setCornerRadius(cornerRadius: number): void
4158

Z
zhengjiangliang 已提交
4159 4160 4161
设置窗口圆角半径。

**系统接口:** 此接口为系统接口。
4162 4163 4164

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

Z
zhengjiangliang 已提交
4165
**参数:**
4166

Z
zhengjiangliang 已提交
4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178
| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
| radius | number | 是   | 表示窗口圆角的半径值,取值范围为大于等于0,0表示没有窗口圆角。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300004 | This operation is not access.  |
4179 4180 4181 4182

**示例:**

```js
Z
zhengjiangliang 已提交
4183 4184 4185 4186 4187
try {
    windowClass.setCornerRadius(4.0);
} catch (exception) {
    console.error('Failed to set corner radius. Cause: ' + JSON.stringify(exception));
};
4188 4189
```

Z
zhengjiangliang 已提交
4190
### show<sup>(deprecated)</sup>
C
chyyy0213 已提交
4191

Z
zhengjiangliang 已提交
4192
show(callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
4193

Z
zhengjiangliang 已提交
4194
显示当前窗口,使用callback异步回调。
Z
zengyawen 已提交
4195

4196
> **说明:**
Z
zhengjiangliang 已提交
4197 4198
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9)。
4199

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

L
leafly2021 已提交
4202
**参数:**
C
chyyy0213 已提交
4203

Z
zhengjiangliang 已提交
4204 4205 4206
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
4207

L
leafly2021 已提交
4208
**示例:**
C
chyyy0213 已提交
4209

G
ge-yafang 已提交
4210
```js
Z
zhengjiangliang 已提交
4211
windowClass.show((err) => {
G
ge-yafang 已提交
4212
    if (err.code) {
Z
zhengjiangliang 已提交
4213
        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4214 4215
        return;
    }
Z
zhengjiangliang 已提交
4216
    console.info('Succeeded in showing the window.');
G
ge-yafang 已提交
4217 4218
})
```
Z
zengyawen 已提交
4219

Z
zhengjiangliang 已提交
4220
### show<sup>(deprecated)</sup>
C
chyyy0213 已提交
4221

Z
zhengjiangliang 已提交
4222
show(): Promise&lt;void&gt;
C
chyyy0213 已提交
4223

Z
zhengjiangliang 已提交
4224
显示当前窗口,使用Promise异步回调。
C
chyyy0213 已提交
4225

4226
> **说明:**
Z
zhengjiangliang 已提交
4227 4228
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9-1)。
4229

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

L
leafly2021 已提交
4232
**返回值:**
C
chyyy0213 已提交
4233

G
ge-yafang 已提交
4234 4235 4236
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
4237

L
leafly2021 已提交
4238
**示例:**
C
chyyy0213 已提交
4239

G
ge-yafang 已提交
4240
```js
Z
zhengjiangliang 已提交
4241 4242 4243
let promise = windowClass.show();
promise.then(()=> {
    console.info('Succeeded in showing the window.');
G
ge-yafang 已提交
4244
}).catch((err)=>{
Z
zhengjiangliang 已提交
4245 4246
    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
})
G
ge-yafang 已提交
4247
```
C
chyyy0213 已提交
4248

Z
zhengjiangliang 已提交
4249
### destroy<sup>(deprecated)</sup>
4250

Z
zhengjiangliang 已提交
4251
destroy(callback: AsyncCallback&lt;void&gt;): void
4252

Z
zhengjiangliang 已提交
4253 4254 4255 4256 4257
销毁当前窗口,使用callback异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9)。
4258 4259 4260 4261 4262

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

**参数:**

Z
zhengjiangliang 已提交
4263 4264 4265
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4266 4267 4268 4269

**示例:**

```js
Z
zhengjiangliang 已提交
4270 4271 4272 4273 4274 4275 4276
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.');
})
4277 4278
```

Z
zhengjiangliang 已提交
4279
### destroy<sup>(deprecated)</sup>
4280

Z
zhengjiangliang 已提交
4281
destroy(): Promise&lt;void&gt;
4282

Z
zhengjiangliang 已提交
4283
销毁当前窗口,使用Promise异步回调。
4284

Z
zhengjiangliang 已提交
4285 4286 4287
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9-1)。
4288

Z
zhengjiangliang 已提交
4289
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4290 4291 4292

**返回值:**

Z
zhengjiangliang 已提交
4293 4294
| 类型                | 说明                      |
| ------------------- | ------------------------- |
4295 4296 4297 4298 4299
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
Z
zhengjiangliang 已提交
4300 4301 4302 4303 4304 4305
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));
})
4306 4307
```

Z
zhengjiangliang 已提交
4308
### moveTo<sup>(deprecated)</sup>
Z
zengyawen 已提交
4309

Z
zhengjiangliang 已提交
4310
moveTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
4311

Z
zhengjiangliang 已提交
4312
移动窗口位置,使用callback异步回调。
Z
zengyawen 已提交
4313

4314
> **说明:**
Z
zhengjiangliang 已提交
4315 4316
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9)。
4317

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

L
leafly2021 已提交
4320
**参数:**
C
chyyy0213 已提交
4321

Z
zhengjiangliang 已提交
4322 4323 4324 4325 4326
| 参数名   | 类型                      | 必填 | 说明                                              |
| -------- | ------------------------- | ---- | ------------------------------------------------- |
| x        | number                    | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y        | number                    | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                        |
Z
zengyawen 已提交
4327

L
leafly2021 已提交
4328
**示例:**
C
chyyy0213 已提交
4329

G
ge-yafang 已提交
4330
```js
Z
zhengjiangliang 已提交
4331
windowClass.moveTo(300, 300, (err)=>{
G
ge-yafang 已提交
4332
    if (err.code) {
Z
zhengjiangliang 已提交
4333
        console.error('Failed to move the window. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
4334 4335
        return;
    }
Z
zhengjiangliang 已提交
4336 4337 4338
    console.info('Succeeded in moving the window.');

});
G
ge-yafang 已提交
4339
```
Z
zengyawen 已提交
4340

Z
zhengjiangliang 已提交
4341
### moveTo<sup>(deprecated)</sup>
C
chyyy0213 已提交
4342

Z
zhengjiangliang 已提交
4343
moveTo(x: number, y: number): Promise&lt;void&gt;
C
chyyy0213 已提交
4344

Z
zhengjiangliang 已提交
4345
移动窗口位置,使用Promise异步回调。
C
chyyy0213 已提交
4346

4347
> **说明:**
Z
zhengjiangliang 已提交
4348 4349
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9-1)。
4350

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

Z
zhengjiangliang 已提交
4353
**参数:**
4354

Z
zhengjiangliang 已提交
4355 4356 4357 4358
| 参数名 | 类型   | 必填 | 说明                                              |
| ------ | ------ | ---- | ------------------------------------------------- |
| x      | number | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y      | number | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
4359 4360 4361

**返回值:**

Z
zhengjiangliang 已提交
4362 4363 4364
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4365 4366 4367 4368

**示例:**

```js
Z
zhengjiangliang 已提交
4369 4370 4371 4372 4373 4374
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));
})
4375 4376
```

Z
zhengjiangliang 已提交
4377
### resetSize<sup>(deprecated)</sup>
C
chyyy0213 已提交
4378

Z
zhengjiangliang 已提交
4379
resetSize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
4380

Z
zhengjiangliang 已提交
4381
改变当前窗口大小,使用callback异步回调。
C
chyyy0213 已提交
4382

4383
> **说明:**
Z
zhengjiangliang 已提交
4384 4385
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9)。
4386

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

L
leafly2021 已提交
4389
**参数:**
C
chyyy0213 已提交
4390

Z
zhengjiangliang 已提交
4391 4392 4393 4394 4395
| 参数名   | 类型                      | 必填 | 说明                       |
| -------- | ------------------------- | ---- | -------------------------- |
| width    | number                    | 是   | 目标窗口的宽度,单位为px。 |
| height   | number                    | 是   | 目标窗口的高度,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                 |
C
chyyy0213 已提交
4396

L
leafly2021 已提交
4397
**示例:**
C
chyyy0213 已提交
4398

G
ge-yafang 已提交
4399
```js
Z
zhengjiangliang 已提交
4400
windowClass.resetSize(500, 1000, (err) => {
G
ge-yafang 已提交
4401
    if (err.code) {
Z
zhengjiangliang 已提交
4402
        console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
4403 4404
        return;
    }
Z
zhengjiangliang 已提交
4405
    console.info('Succeeded in changing the window size.');
G
ge-yafang 已提交
4406 4407
});
```
C
chyyy0213 已提交
4408

Z
zhengjiangliang 已提交
4409
### resetSize<sup>(deprecated)</sup>
C
chyyy0213 已提交
4410

Z
zhengjiangliang 已提交
4411
resetSize(width: number, height: number): Promise&lt;void&gt;
C
chyyy0213 已提交
4412

Z
zhengjiangliang 已提交
4413
改变当前窗口大小,使用Promise异步回调。
C
chyyy0213 已提交
4414

4415
> **说明:**
Z
zhengjiangliang 已提交
4416 4417
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9-1)。
4418

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

L
leafly2021 已提交
4421
**参数:**
C
chyyy0213 已提交
4422

Z
zhengjiangliang 已提交
4423 4424 4425 4426
| 参数名 | 类型   | 必填 | 说明                       |
| ------ | ------ | ---- | -------------------------- |
| width  | number | 是   | 目标窗口的宽度,单位为px。 |
| height | number | 是   | 目标窗口的高度,单位为px。 |
C
chyyy0213 已提交
4427

L
leafly2021 已提交
4428
**返回值:**
C
chyyy0213 已提交
4429

G
ge-yafang 已提交
4430 4431 4432
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
4433

L
leafly2021 已提交
4434
**示例:**
C
chyyy0213 已提交
4435

G
ge-yafang 已提交
4436
```js
Z
zhengjiangliang 已提交
4437 4438 4439
let promise = windowClass.resetSize(500, 1000);
promise.then(()=> {
    console.info('Succeeded in changing the window size.');
G
ge-yafang 已提交
4440
}).catch((err)=>{
Z
zhengjiangliang 已提交
4441
    console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4442 4443
});
```
C
chyyy0213 已提交
4444

Z
zhengjiangliang 已提交
4445
### setWindowType<sup>(deprecated)</sup>
4446

Z
zhengjiangliang 已提交
4447
setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void
4448

Z
zhengjiangliang 已提交
4449 4450 4451 4452 4453 4454 4455
设置窗口类型,使用callback异步回调。

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

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃。
4456 4457 4458

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

L
leafly2021 已提交
4459
**参数:**
4460

Z
zhengjiangliang 已提交
4461 4462 4463 4464
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| type     | [WindowType](#windowtype7) | 是   | 窗口类型。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4465

L
leafly2021 已提交
4466
**示例:**
4467

4468
```js
Z
zhengjiangliang 已提交
4469 4470 4471 4472 4473 4474 4475 4476
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.');
});
4477 4478
```

Z
zhengjiangliang 已提交
4479
### setWindowType<sup>(deprecated)</sup>
C
chyyy0213 已提交
4480

Z
zhengjiangliang 已提交
4481
setWindowType(type: WindowType): Promise&lt;void&gt;
C
chyyy0213 已提交
4482

Z
zhengjiangliang 已提交
4483 4484 4485
设置窗口类型,使用Promise异步回调。

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

4487
> **说明:**
Z
zhengjiangliang 已提交
4488 4489
> 
> 从 API version 7开始支持,从API version 9开始废弃。
4490

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

L
leafly2021 已提交
4493
**参数:**
C
chyyy0213 已提交
4494

Z
zhengjiangliang 已提交
4495 4496 4497 4498 4499 4500 4501 4502 4503
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |

**返回值:**

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

L
leafly2021 已提交
4505
**示例:**
C
chyyy0213 已提交
4506

G
ge-yafang 已提交
4507
```js
Z
zhengjiangliang 已提交
4508 4509 4510 4511 4512 4513
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 已提交
4514 4515
});
```
C
chyyy0213 已提交
4516

Z
zhengjiangliang 已提交
4517
### getProperties<sup>(deprecated)</sup>
C
chyyy0213 已提交
4518

Z
zhengjiangliang 已提交
4519
getProperties(callback: AsyncCallback&lt;WindowProperties&gt;): void
C
chyyy0213 已提交
4520

Z
zhengjiangliang 已提交
4521
获取当前窗口的属性,使用callback异步回调,返回WindowProperties。
C
chyyy0213 已提交
4522

4523
> **说明:**
Z
zhengjiangliang 已提交
4524 4525
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。
4526

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

L
leafly2021 已提交
4529
**参数:**
C
chyyy0213 已提交
4530

Z
zhengjiangliang 已提交
4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557
| 参数名   | 类型                                                       | 必填 | 说明                         |
| -------- | ---------------------------------------------------------- | ---- | ---------------------------- |
| 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。

> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
4558

L
leafly2021 已提交
4559
**返回值:**
C
chyyy0213 已提交
4560

Z
zhengjiangliang 已提交
4561 4562 4563
| 类型                                                 | 说明                            |
| ---------------------------------------------------- | ------------------------------- |
| Promise&lt;[WindowProperties](#windowproperties)&gt; | Promise对象。返回当前窗口属性。 |
C
chyyy0213 已提交
4564

L
leafly2021 已提交
4565
**示例:**
C
chyyy0213 已提交
4566

G
ge-yafang 已提交
4567
```js
Z
zhengjiangliang 已提交
4568
let promise = windowClass.getProperties();
G
ge-yafang 已提交
4569
promise.then((data)=> {
Z
zhengjiangliang 已提交
4570
    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
4571
}).catch((err)=>{
Z
zhengjiangliang 已提交
4572
    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4573 4574
});
```
C
chyyy0213 已提交
4575

Z
zhengjiangliang 已提交
4576
### getAvoidArea<sup>(deprecated)</sup>
4577

Z
zhengjiangliang 已提交
4578
getAvoidArea(type: [AvoidAreaType](#avoidareatype7), callback: AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt;): void
4579

Z
zhengjiangliang 已提交
4580 4581 4582 4583 4584
获取窗口内容规避的区域,如系统的系统栏区域、刘海屏区域、手势区域、软键盘区域等。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。
4585 4586 4587 4588 4589

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

**参数:**

Z
zhengjiangliang 已提交
4590 4591 4592 4593
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- |-----------------------------------------------| ---- | ------------------------------------------------------------ |
| type     | [AvoidAreaType](#avoidareatype7)              | 是   | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。type为TYPE_SYSTEM_GESTURE,表示手势区域。type为TYPE_KEYBOARD,表示软键盘区域。 |
| callback | AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回窗口内容规避区域。                             |
4594 4595 4596 4597

**示例:**

```js
Z
zhengjiangliang 已提交
4598 4599 4600 4601 4602 4603 4604 4605
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));
});
4606 4607
```

Z
zhengjiangliang 已提交
4608
### getAvoidArea<sup>(deprecated)</sup>
4609

Z
zhengjiangliang 已提交
4610
getAvoidArea(type: [AvoidAreaType](#avoidareatype7)): Promise&lt;[AvoidArea](#avoidarea7)&gt;
4611

Z
zhengjiangliang 已提交
4612 4613 4614 4615 4616
获取窗口内容规避的区域,如系统的系统栏区域、刘海屏区域、手势区域、软键盘区域等。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowavoidarea9)。
4617 4618 4619 4620 4621

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

**参数:**

Z
zhengjiangliang 已提交
4622 4623 4624
| 参数名 | 类型                               | 必填 | 说明                                                         |
| ------ |----------------------------------| ---- | ------------------------------------------------------------ |
| type   | [AvoidAreaType](#avoidareatype7) | 是   | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。type为TYPE_SYSTEM_GESTURE,表示手势区域。type为TYPE_KEYBOARD,表示软键盘区域。 |
4625 4626 4627

**返回值:**

Z
zhengjiangliang 已提交
4628 4629 4630
| 类型                                      | 说明                                |
|-----------------------------------------| ----------------------------------- |
| Promise&lt;[AvoidArea](#avoidarea7)&gt; | Promise对象。返回窗口内容规避区域。 |
4631 4632 4633 4634

**示例:**

```js
Z
zhengjiangliang 已提交
4635 4636 4637 4638 4639 4640 4641
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));
});
4642 4643
```

Z
zhengjiangliang 已提交
4644
### setFullScreen<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
4645

Z
zhengjiangliang 已提交
4646
setFullScreen(isFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
Z
xxx  
zhirong 已提交
4647

Z
zhengjiangliang 已提交
4648
设置是否为全屏状态,使用callback异步回调。
Z
xxx  
zhirong 已提交
4649

Z
zhengjiangliang 已提交
4650 4651 4652
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。
Z
xxx  
zhirong 已提交
4653 4654 4655 4656 4657

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

**参数:**

Z
zhengjiangliang 已提交
4658 4659 4660 4661
| 参数名       | 类型                      | 必填 | 说明                                           |
| ------------ | ------------------------- | ---- | ---------------------------------------------- |
| isFullScreen | boolean                   | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
| callback     | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                     |
Z
xxx  
zhirong 已提交
4662 4663 4664

**示例:**

G
ge-yafang 已提交
4665
```js
Z
zhengjiangliang 已提交
4666 4667
let isFullScreen = true;
windowClass.setFullScreen(isFullScreen, (err) => {
G
ge-yafang 已提交
4668
    if (err.code) {
Z
zhengjiangliang 已提交
4669
        console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4670 4671
        return;
    }
Z
zhengjiangliang 已提交
4672
    console.info('Succeeded in enabling the full-screen mode.');
G
ge-yafang 已提交
4673 4674
});
```
Z
xxx  
zhirong 已提交
4675

Z
zhengjiangliang 已提交
4676
### setFullScreen<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
4677

Z
zhengjiangliang 已提交
4678
setFullScreen(isFullScreen: boolean): Promise&lt;void&gt;
Z
xxx  
zhirong 已提交
4679

Z
zhengjiangliang 已提交
4680
设置是否为全屏状态,使用Promise异步回调。
Z
xxx  
zhirong 已提交
4681

Z
zhengjiangliang 已提交
4682 4683 4684
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。
Z
xxx  
zhirong 已提交
4685 4686 4687 4688 4689

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

**参数:**

Z
zhengjiangliang 已提交
4690 4691 4692
| 参数名       | 类型    | 必填 | 说明                                           |
| ------------ | ------- | ---- | ---------------------------------------------- |
| isFullScreen | boolean | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
Z
xxx  
zhirong 已提交
4693 4694 4695

**返回值:**

G
ge-yafang 已提交
4696 4697 4698
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
xxx  
zhirong 已提交
4699 4700 4701

**示例:**

G
ge-yafang 已提交
4702
```js
Z
zhengjiangliang 已提交
4703 4704 4705 4706
let isFullScreen = true;
let promise = windowClass.setFullScreen(isFullScreen);
promise.then(()=> {
    console.info('Succeeded in enabling the full-screen mode.');
G
ge-yafang 已提交
4707
}).catch((err)=>{
Z
zhengjiangliang 已提交
4708
    console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4709 4710
});
```
Z
xxx  
zhirong 已提交
4711

Z
zhengjiangliang 已提交
4712
### setLayoutFullScreen<sup>(deprecated)</sup>
C
chyyy0213 已提交
4713

Z
zhengjiangliang 已提交
4714
setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
4715

Z
zhengjiangliang 已提交
4716
设置窗口的布局是否为全屏显示状态,使用callback异步回调。
C
chyyy0213 已提交
4717

4718
> **说明:**
Z
zhengjiangliang 已提交
4719 4720
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9)。
4721

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

L
leafly2021 已提交
4724
**参数:**
C
chyyy0213 已提交
4725

Z
zhengjiangliang 已提交
4726 4727 4728 4729
| 参数名             | 类型                      | 必填 | 说明                                                         |
| ------------------ | ------------------------- | ---- | ------------------------------------------------------------ |
| isLayoutFullScreen | boolean                   | 是   | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。 |
| callback           | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
C
chyyy0213 已提交
4730

L
leafly2021 已提交
4731
**示例:**
C
chyyy0213 已提交
4732

G
ge-yafang 已提交
4733
```js
Z
zhengjiangliang 已提交
4734 4735
let isLayoutFullScreen= true;
windowClass.setLayoutFullScreen(isLayoutFullScreen, (err) => {
G
ge-yafang 已提交
4736
    if (err.code) {
Z
zhengjiangliang 已提交
4737
        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
4738 4739
        return;
    }
Z
zhengjiangliang 已提交
4740
    console.info('Succeeded in setting the window layout to full-screen mode.');
G
ge-yafang 已提交
4741 4742
});
```
C
chyyy0213 已提交
4743

Z
zhengjiangliang 已提交
4744
### setLayoutFullScreen<sup>(deprecated)</sup>
C
chyyy0213 已提交
4745

Z
zhengjiangliang 已提交
4746
setLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
C
chyyy0213 已提交
4747

Z
zhengjiangliang 已提交
4748
设置窗口的布局是否为全屏显示状态,使用Promise异步回调。
C
chyyy0213 已提交
4749

4750
> **说明:**
Z
zhengjiangliang 已提交
4751 4752
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9-1)。
4753

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

L
leafly2021 已提交
4756
**参数:**
C
chyyy0213 已提交
4757

Z
zhengjiangliang 已提交
4758 4759 4760
| 参数名             | 类型    | 必填 | 说明                                                         |
| ------------------ | ------- | ---- | ------------------------------------------------------------ |
| isLayoutFullScreen | boolean | 是   | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。 |
C
chyyy0213 已提交
4761

L
leafly2021 已提交
4762
**返回值:**
C
chyyy0213 已提交
4763

G
ge-yafang 已提交
4764 4765 4766
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
4767

L
leafly2021 已提交
4768
**示例:**
C
chyyy0213 已提交
4769

G
ge-yafang 已提交
4770
```js
Z
zhengjiangliang 已提交
4771 4772 4773 4774
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 已提交
4775
}).catch((err)=>{
Z
zhengjiangliang 已提交
4776
    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
4777 4778
});
```
C
chyyy0213 已提交
4779

Z
zhengjiangliang 已提交
4780
### setSystemBarEnable<sup>(deprecated)</sup>
4781

Z
zhengjiangliang 已提交
4782
setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void
4783

Z
zhengjiangliang 已提交
4784 4785 4786 4787 4788
设置导航栏、状态栏的可见模式,使用callback异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。
4789 4790 4791 4792 4793

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

**参数:**

Z
zhengjiangliang 已提交
4794 4795 4796 4797
| 参数名   | 类型                      | 必填 | 说明                                                         |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| names    | Array                     | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
4798 4799 4800 4801

**示例:**

```js
Z
zhengjiangliang 已提交
4802 4803 4804 4805 4806 4807 4808 4809 4810
// 此处以不显示导航栏、状态栏为例
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.');
});
4811 4812
```

Z
zhengjiangliang 已提交
4813
### setSystemBarEnable<sup>(deprecated)</sup>
4814

Z
zhengjiangliang 已提交
4815
setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
4816

Z
zhengjiangliang 已提交
4817 4818 4819 4820 4821
设置导航栏、状态栏的可见模式,使用Promise异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。
4822 4823 4824 4825 4826

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

**参数:**

Z
zhengjiangliang 已提交
4827 4828 4829
| 参数名 | 类型  | 必填 | 说明                                                         |
| ------ | ----- | ---- | ------------------------------------------------------------ |
| names  | Array | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
4830 4831 4832

**返回值:**

Z
zhengjiangliang 已提交
4833 4834
| 类型                | 说明                      |
| ------------------- | ------------------------- |
4835 4836 4837 4838 4839
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
Z
zhengjiangliang 已提交
4840 4841 4842 4843 4844 4845 4846 4847
// 此处以不显示导航栏、状态栏为例
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));
});
4848 4849
```

Z
zhengjiangliang 已提交
4850
### setSystemBarProperties<sup>(deprecated)</sup>
C
chyyy0213 已提交
4851

Z
zhengjiangliang 已提交
4852
setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void
C
chyyy0213 已提交
4853

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

4856
> **说明:**
Z
zhengjiangliang 已提交
4857 4858
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9)。
4859

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

L
leafly2021 已提交
4862
**参数:**
C
chyyy0213 已提交
4863

Z
zhengjiangliang 已提交
4864 4865 4866 4867
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
C
chyyy0213 已提交
4868

L
leafly2021 已提交
4869
**示例:**
C
chyyy0213 已提交
4870

G
ge-yafang 已提交
4871
```js
Z
zhengjiangliang 已提交
4872 4873 4874 4875 4876 4877 4878 4879
let SystemBarProperties={
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
windowClass.setSystemBarProperties(SystemBarProperties, (err) => {
G
ge-yafang 已提交
4880
    if (err.code) {
Z
zhengjiangliang 已提交
4881
        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4882 4883
        return;
    }
Z
zhengjiangliang 已提交
4884
    console.info('Succeeded in setting the system bar properties.');
G
ge-yafang 已提交
4885 4886
});
```
Z
xxx  
zhirong 已提交
4887

Z
zhengjiangliang 已提交
4888
### setSystemBarProperties<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
4889

Z
zhengjiangliang 已提交
4890
setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;
Z
xxx  
zhirong 已提交
4891

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

4894
> **说明:**
Z
zhengjiangliang 已提交
4895 4896
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9-1)。
4897

Z
xxx  
zhirong 已提交
4898 4899
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
4900
**参数:**
G
ge-yafang 已提交
4901

Z
zhengjiangliang 已提交
4902 4903 4904
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
G
ge-yafang 已提交
4905

L
leafly2021 已提交
4906
**返回值:**
Z
xxx  
zhirong 已提交
4907

G
ge-yafang 已提交
4908 4909 4910
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
xxx  
zhirong 已提交
4911 4912 4913

**示例:**

G
ge-yafang 已提交
4914
```js
Z
zhengjiangliang 已提交
4915 4916 4917 4918 4919 4920 4921 4922 4923 4924
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 已提交
4925
}).catch((err)=>{
Z
zhengjiangliang 已提交
4926
    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
4927 4928
});
```
Z
xxx  
zhirong 已提交
4929

Z
zhengjiangliang 已提交
4930
### loadContent<sup>(deprecated)</sup>
4931

Z
zhengjiangliang 已提交
4932
loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
4933

Z
zhengjiangliang 已提交
4934 4935 4936 4937 4938
为当前窗口加载具体页面内容,使用callback异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9)。
4939 4940 4941 4942 4943

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

**参数:**

Z
zhengjiangliang 已提交
4944 4945 4946 4947
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| path     | string                    | 是   | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
4948 4949 4950 4951

**示例:**

```js
Z
zhengjiangliang 已提交
4952 4953 4954 4955 4956 4957 4958
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.');
});
4959 4960
```

Z
zhengjiangliang 已提交
4961
### loadContent<sup>(deprecated)</sup>
4962

Z
zhengjiangliang 已提交
4963
loadContent(path: string): Promise&lt;void&gt;
4964

Z
zhengjiangliang 已提交
4965 4966 4967 4968 4969
为当前窗口加载具体页面内容,使用Promise异步回调。

> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9-1)。
4970 4971 4972 4973 4974

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

**参数:**

Z
zhengjiangliang 已提交
4975 4976 4977
| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| path   | string | 是   | 设置加载页面的路径。 |
4978 4979 4980

**返回值:**

Z
zhengjiangliang 已提交
4981 4982
| 类型                | 说明                      |
| ------------------- | ------------------------- |
4983 4984 4985 4986 4987
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
Z
zhengjiangliang 已提交
4988 4989 4990 4991 4992 4993
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));
});
4994 4995
```

Z
zhengjiangliang 已提交
4996
### isShowing<sup>(deprecated)</sup>
4997

Z
zhengjiangliang 已提交
4998
isShowing(callback: AsyncCallback&lt;boolean&gt;): void
4999

Z
zhengjiangliang 已提交
5000
判断当前窗口是否已显示,使用callback异步回调。
5001

Z
zhengjiangliang 已提交
5002 5003 5004
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。
5005 5006 5007 5008 5009

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

**参数:**

Z
zhengjiangliang 已提交
5010 5011 5012
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口已显示,返回false表示当前窗口未显示。 |
5013 5014 5015 5016

**示例:**

```js
Z
zhengjiangliang 已提交
5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052
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异步回调。

> **说明:**
> 
> 从 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));
});
5053 5054
```

Z
zhengjiangliang 已提交
5055
### on('systemAvoidAreaChange')<sup>(deprecated)</sup>
Z
xxx  
zhirong 已提交
5056

Z
zhengjiangliang 已提交
5057
on(type: 'systemAvoidAreaChange', callback: Callback&lt;AvoidArea&gt;): void
Z
xxx  
zhirong 已提交
5058

Z
zhengjiangliang 已提交
5059
开启系统规避区变化的监听。
Z
xxx  
zhirong 已提交
5060

Z
zhengjiangliang 已提交
5061 5062 5063
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[on('avoidAreaChange')](#onavoidareachange9)。
Z
xxx  
zhirong 已提交
5064 5065 5066 5067 5068

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

**参数:**

Z
zhengjiangliang 已提交
5069 5070 5071 5072
| 参数名   | 类型                                       | 必填 | 说明                                                    |
| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回当前规避区。                             |
Z
xxx  
zhirong 已提交
5073 5074 5075

**示例:**

G
ge-yafang 已提交
5076
```js
Z
zhengjiangliang 已提交
5077 5078 5079
windowClass.on('systemAvoidAreaChange', (data) => {
    console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
});
G
ge-yafang 已提交
5080
```
Z
xxx  
zhirong 已提交
5081

Z
zhengjiangliang 已提交
5082
### off('systemAvoidAreaChange')<sup>(deprecated)</sup>
C
chyyy0213 已提交
5083

Z
zhengjiangliang 已提交
5084
off(type: 'systemAvoidAreaChange', callback?: Callback&lt;AvoidArea&gt;): void
C
chyyy0213 已提交
5085

Z
zhengjiangliang 已提交
5086
关闭系统规避区变化的监听。
G
ge-yafang 已提交
5087

Z
zhengjiangliang 已提交
5088 5089 5090
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[off('avoidAreaChange')](#offavoidareachange9)。
C
chyyy0213 已提交
5091

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

G
ge-yafang 已提交
5094
**参数:**
C
chyyy0213 已提交
5095

Z
zhengjiangliang 已提交
5096 5097 5098 5099
| 参数名   | 类型                                       | 必填 | 说明                                                    |
| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 否   | 回调函数。返回当前规避区。                            |
C
chyyy0213 已提交
5100

G
ge-yafang 已提交
5101
**示例:**
C
chyyy0213 已提交
5102

G
ge-yafang 已提交
5103
```js
Z
zhengjiangliang 已提交
5104
windowClass.off('systemAvoidAreaChange');
G
ge-yafang 已提交
5105
```
C
chyyy0213 已提交
5106

Z
zhengjiangliang 已提交
5107
### isSupportWideGamut<sup>(deprecated)</sup>
C
chyyy0213 已提交
5108

Z
zhengjiangliang 已提交
5109
isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
C
chyyy0213 已提交
5110

Z
zhengjiangliang 已提交
5111
判断当前窗口是否支持广色域模式,使用callback异步回调。
C
chyyy0213 已提交
5112

5113
> **说明:**
Z
zhengjiangliang 已提交
5114 5115
> 
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9)。
5116

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

L
leafly2021 已提交
5119
**参数:**
C
chyyy0213 已提交
5120

Z
zhengjiangliang 已提交
5121 5122 5123
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
C
chyyy0213 已提交
5124

L
leafly2021 已提交
5125
**示例:**
C
chyyy0213 已提交
5126

G
ge-yafang 已提交
5127
```js
Z
zhengjiangliang 已提交
5128
windowClass.isSupportWideGamut((err, data) => {
G
ge-yafang 已提交
5129
    if (err.code) {
Z
zhengjiangliang 已提交
5130
        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
G
ge-yafang 已提交
5131 5132
        return;
    }
Z
zhengjiangliang 已提交
5133 5134
    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
})
G
ge-yafang 已提交
5135
```
C
chyyy0213 已提交
5136

Z
zhengjiangliang 已提交
5137
### isSupportWideGamut<sup>(deprecated)</sup>
C
chyyy0213 已提交
5138

Z
zhengjiangliang 已提交
5139
isSupportWideGamut(): Promise&lt;boolean&gt;
C
chyyy0213 已提交
5140

Z
zhengjiangliang 已提交
5141
判断当前窗口是否支持广色域模式,使用Promise异步回调。
C
chyyy0213 已提交
5142

5143
> **说明:**
Z
zhengjiangliang 已提交
5144 5145
> 
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9-1)。
5146

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

L
leafly2021 已提交
5149
**返回值:**
C
chyyy0213 已提交
5150

Z
zhengjiangliang 已提交
5151 5152 5153
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
C
chyyy0213 已提交
5154

L
leafly2021 已提交
5155
**示例:**
C
chyyy0213 已提交
5156

G
ge-yafang 已提交
5157
```js
Z
zhengjiangliang 已提交
5158
let promise = windowClass.isSupportWideGamut();
G
ge-yafang 已提交
5159
promise.then((data)=> {
Z
zhengjiangliang 已提交
5160
    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
5161
}).catch((err)=>{
Z
zhengjiangliang 已提交
5162
    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
5163 5164
});
```
C
chyyy0213 已提交
5165

Z
zhengjiangliang 已提交
5166
### setColorSpace<sup>(deprecated)</sup>
5167

Z
zhengjiangliang 已提交
5168
setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
5169

Z
zhengjiangliang 已提交
5170 5171 5172 5173 5174
设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。

> **说明:**
> 
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9)。
5175 5176 5177 5178 5179

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

**参数:**

Z
zhengjiangliang 已提交
5180 5181 5182 5183
| 参数名     | 类型                      | 必填 | 说明         |
| ---------- | ------------------------- | ---- | ------------ |
| colorSpace | [ColorSpace](#colorspace) | 是   | 设置色域模式。 |
| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。   |
5184 5185 5186

**示例:**

5187
```js
Z
zhengjiangliang 已提交
5188 5189 5190 5191 5192 5193 5194
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.');
})
5195 5196
```

Z
zhengjiangliang 已提交
5197
### setColorSpace<sup>(deprecated)</sup>
C
chyyy0213 已提交
5198

Z
zhengjiangliang 已提交
5199
setColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
C
chyyy0213 已提交
5200

Z
zhengjiangliang 已提交
5201 5202 5203 5204 5205
设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。

> **说明:**
> 
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9-1)。
C
chyyy0213 已提交
5206

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

L
leafly2021 已提交
5209
**参数:**
C
chyyy0213 已提交
5210

Z
zhengjiangliang 已提交
5211 5212 5213
| 参数名     | 类型                      | 必填 | 说明           |
| ---------- | ------------------------- | ---- | -------------- |
| colorSpace | [ColorSpace](#colorspace) | 是   | 设置色域模式。 |
5214 5215 5216

**返回值:**

Z
zhengjiangliang 已提交
5217 5218
| 类型                | 说明                      |
| ------------------- | ------------------------- |
5219
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
5220

L
leafly2021 已提交
5221
**示例:**
C
chyyy0213 已提交
5222

G
ge-yafang 已提交
5223
```js
Z
zhengjiangliang 已提交
5224 5225 5226 5227 5228 5229
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 已提交
5230
```
C
chyyy0213 已提交
5231

Z
zhengjiangliang 已提交
5232
### getColorSpace<sup>(deprecated)</sup>
W
wlj 已提交
5233

Z
zhengjiangliang 已提交
5234
getColorSpace(callback: AsyncCallback&lt;ColorSpace&gt;): void
W
wlj 已提交
5235

Z
zhengjiangliang 已提交
5236
获取当前窗口色域模式,使用callback异步回调。
W
wlj 已提交
5237

5238
> **说明:**
Z
zhengjiangliang 已提交
5239 5240
> 
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
W
wlj 已提交
5241 5242 5243

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

L
leafly2021 已提交
5244
**参数:**
W
wlj 已提交
5245

Z
zhengjiangliang 已提交
5246 5247 5248
| 参数名   | 类型                                           | 必填 | 说明                                                       |
| -------- | ---------------------------------------------- | ---- | ---------------------------------------------------------- |
| callback | AsyncCallback&lt;[ColorSpace](#colorspace)&gt; | 是   | 回调函数。当获取成功,err为undefined,data为当前色域模式。 |
W
wlj 已提交
5249

L
leafly2021 已提交
5250
**示例:**
W
wlj 已提交
5251 5252

```js
Z
zhengjiangliang 已提交
5253
windowClass.getColorSpace((err, data) => {
W
wlj 已提交
5254
    if (err.code) {
Z
zhengjiangliang 已提交
5255
        console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err));
W
wlj 已提交
5256 5257
        return;
    }
Z
zhengjiangliang 已提交
5258 5259
    console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data));
})
W
wlj 已提交
5260 5261
```

Z
zhengjiangliang 已提交
5262
### getColorSpace<sup>(deprecated)</sup>
W
wlj 已提交
5263

Z
zhengjiangliang 已提交
5264
getColorSpace(): Promise&lt;ColorSpace&gt;
W
wlj 已提交
5265

Z
zhengjiangliang 已提交
5266
获取当前窗口色域模式,使用Promise异步回调。
W
wlj 已提交
5267

5268
> **说明:**
Z
zhengjiangliang 已提交
5269 5270
> 
> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
W
wlj 已提交
5271 5272 5273

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

L
leafly2021 已提交
5274
**返回值:**
W
wlj 已提交
5275

Z
zhengjiangliang 已提交
5276 5277 5278
| 类型                                     | 说明                            |
| ---------------------------------------- | ------------------------------- |
| Promise&lt;[ColorSpace](#colorspace)&gt; | Promise对象。返回当前色域模式。 |
W
wlj 已提交
5279

L
leafly2021 已提交
5280
**示例:**
W
wlj 已提交
5281 5282

```js
Z
zhengjiangliang 已提交
5283
let promise = windowClass.getColorSpace();
W
wlj 已提交
5284
promise.then((data)=> {
Z
zhengjiangliang 已提交
5285
    console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data));
W
wlj 已提交
5286
}).catch((err)=>{
Z
zhengjiangliang 已提交
5287
    console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err));
W
wlj 已提交
5288 5289 5290
});
```

Z
zhengjiangliang 已提交
5291
### setBackgroundColor<sup>(deprecated)</sup>
5292

Z
zhengjiangliang 已提交
5293
setBackgroundColor(color: string, callback: AsyncCallback&lt;void&gt;): void
5294

Z
zhengjiangliang 已提交
5295 5296 5297 5298 5299
设置窗口的背景色,使用callback异步回调。Stage模型下,该接口需要在[loadContent](#loadcontent9)[setUIContent()](#setuicontent9)之后使用。

> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
5300 5301 5302 5303

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

**参数:**
Z
zhengjiangliang 已提交
5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320

| 参数名   | 类型                      | 必填 | 说明                                                         |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| color    | string                    | 是   | 需要设置的背景色,为十六进制颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
| 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.');
});
5321 5322
```

Z
zhengjiangliang 已提交
5323
### setBackgroundColor<sup>(deprecated)</sup>
5324

Z
zhengjiangliang 已提交
5325
setBackgroundColor(color: string): Promise&lt;void&gt;
5326

Z
zhengjiangliang 已提交
5327 5328 5329 5330 5331
设置窗口的背景色,使用Promise异步回调。Stage模型下,该接口需要在[loadContent](#loadcontent9)[setUIContent()](#setuicontent9)之后使用。

> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
5332 5333 5334

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

5335
**参数:**
Q
qianlf 已提交
5336

Z
zhengjiangliang 已提交
5337 5338 5339
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| color  | string | 是   | 需要设置的背景色,为十六进制颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
Q
qianlf 已提交
5340

5341
**返回值:**
Q
qianlf 已提交
5342

Z
zhengjiangliang 已提交
5343
| 类型                | 说明                      |
5344 5345
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Q
qianlf 已提交
5346 5347 5348 5349

**示例:**

```js
Z
zhengjiangliang 已提交
5350 5351 5352 5353 5354 5355 5356
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 已提交
5357 5358
```

Z
zhengjiangliang 已提交
5359
### setBrightness<sup>(deprecated)</sup>
Q
qianlf 已提交
5360

Z
zhengjiangliang 已提交
5361
setBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void
Q
qianlf 已提交
5362

Z
zhengjiangliang 已提交
5363
设置屏幕亮度值,使用callback异步回调。
Q
qianlf 已提交
5364

Z
zhengjiangliang 已提交
5365 5366 5367
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9)。
Q
qianlf 已提交
5368 5369 5370

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

L
leafly2021 已提交
5371
**参数:**
Q
qianlf 已提交
5372

Z
zhengjiangliang 已提交
5373 5374 5375 5376
| 参数名     | 类型                      | 必填 | 说明                                 |
| ---------- | ------------------------- | ---- | ------------------------------------ |
| brightness | number                    | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。                           |
Q
qianlf 已提交
5377 5378 5379 5380

**示例:**

```js
Z
zhengjiangliang 已提交
5381 5382 5383 5384 5385 5386 5387 5388
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 已提交
5389 5390
```

Z
zhengjiangliang 已提交
5391
### setBrightness<sup>(deprecated)</sup>
Q
qianlf 已提交
5392

Z
zhengjiangliang 已提交
5393
setBrightness(brightness: number): Promise&lt;void&gt;
Q
qianlf 已提交
5394

Z
zhengjiangliang 已提交
5395
设置屏幕亮度值,使用Promise异步回调。
Q
qianlf 已提交
5396

Z
zhengjiangliang 已提交
5397 5398 5399
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9-1)。
Q
qianlf 已提交
5400 5401 5402

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

L
leafly2021 已提交
5403
**参数:**
Q
qianlf 已提交
5404

Z
zhengjiangliang 已提交
5405 5406 5407
| 参数名     | 类型   | 必填 | 说明                                 |
| ---------- | ------ | ---- | ------------------------------------ |
| brightness | number | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
5408 5409 5410 5411 5412 5413

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Q
qianlf 已提交
5414 5415 5416 5417

**示例:**

```js
Z
zhengjiangliang 已提交
5418 5419 5420 5421 5422 5423 5424
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 已提交
5425 5426
```

Z
zhengjiangliang 已提交
5427
### setDimBehind<sup>(deprecated)</sup>
Q
qianlf 已提交
5428

Z
zhengjiangliang 已提交
5429
setDimBehind(dimBehindValue: number, callback: AsyncCallback&lt;void&gt;): void
Q
qianlf 已提交
5430

Z
zhengjiangliang 已提交
5431 5432 5433 5434 5435
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback异步回调。

> **说明:**
> 
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
Q
qianlf 已提交
5436 5437 5438

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

L
leafly2021 已提交
5439
**参数:**
Q
qianlf 已提交
5440

Z
zhengjiangliang 已提交
5441 5442 5443 5444
| 参数名         | 类型                      | 必填 | 说明                                               |
| -------------- | ------------------------- | ---- | -------------------------------------------------- |
| dimBehindValue | number                    | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                         |
Q
qianlf 已提交
5445 5446 5447 5448

**示例:**

```js
Z
zhengjiangliang 已提交
5449
windowClass.setDimBehind(0.5, (err) => {
5450
    if (err.code) {
Z
zhengjiangliang 已提交
5451
        console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
5452 5453
        return;
    }
Z
zhengjiangliang 已提交
5454
    console.info('Succeeded in setting the dimness.');
5455
});
Q
qianlf 已提交
5456 5457
```

Z
zhengjiangliang 已提交
5458
### setDimBehind<sup>(deprecated)</sup>
Q
qianlf 已提交
5459

Z
zhengjiangliang 已提交
5460
setDimBehind(dimBehindValue: number): Promise&lt;void&gt;
Q
qianlf 已提交
5461

Z
zhengjiangliang 已提交
5462 5463 5464 5465 5466
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise异步回调。

> **说明:**
> 
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
Q
qianlf 已提交
5467 5468 5469

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

Z
zhengjiangliang 已提交
5470 5471 5472 5473 5474 5475
**参数:**

| 参数名         | 类型   | 必填 | 说明                                               |
| -------------- | ------ | ---- | -------------------------------------------------- |
| dimBehindValue | number | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |

5476
**返回值:**
Q
qianlf 已提交
5477

5478 5479
| 类型                | 说明                      |
| ------------------- | ------------------------- |
Z
zhengjiangliang 已提交
5480
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Q
qianlf 已提交
5481 5482 5483 5484

**示例:**

```js
Z
zhengjiangliang 已提交
5485 5486 5487
let promise = windowClass.setDimBehind(0.5);
promise.then(()=> {
    console.info('Succeeded in setting the dimness.');
5488
}).catch((err)=>{
Z
zhengjiangliang 已提交
5489
    console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
5490
});
Q
qianlf 已提交
5491 5492
```

Z
zhengjiangliang 已提交
5493
### setFocusable<sup>(deprecated)</sup>
L
leafly2021 已提交
5494

Z
zhengjiangliang 已提交
5495
setFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
L
leafly2021 已提交
5496

Z
zhengjiangliang 已提交
5497
设置点击时是否支持切换焦点窗口,使用callback异步回调。
L
leafly2021 已提交
5498

Z
zhengjiangliang 已提交
5499 5500 5501
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9)。
L
leafly2021 已提交
5502 5503 5504 5505 5506

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

**参数:**

Z
zhengjiangliang 已提交
5507 5508 5509 5510
| 参数名      | 类型                      | 必填 | 说明                         |
| ----------- | ------------------------- | ---- | ---------------------------- |
| isFocusable | boolean                   | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。                   |
L
leafly2021 已提交
5511 5512 5513

**示例:**

5514
```js
Z
zhengjiangliang 已提交
5515 5516 5517 5518 5519 5520 5521 5522
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 已提交
5523 5524
```

Z
zhengjiangliang 已提交
5525
### setFocusable<sup>(deprecated)</sup>
L
leafly2021 已提交
5526

Z
zhengjiangliang 已提交
5527
setFocusable(isFocusable: boolean): Promise&lt;void&gt;
L
leafly2021 已提交
5528

Z
zhengjiangliang 已提交
5529
设置点击时是否支持切换焦点窗口,使用Promise异步回调。
L
leafly2021 已提交
5530

Z
zhengjiangliang 已提交
5531 5532 5533
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9-1)。
L
leafly2021 已提交
5534 5535 5536 5537 5538

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

**参数:**

Z
zhengjiangliang 已提交
5539 5540 5541 5542 5543 5544 5545 5546 5547
| 参数名      | 类型    | 必填 | 说明                         |
| ----------- | ------- | ---- | ---------------------------- |
| isFocusable | boolean | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
leafly2021 已提交
5548 5549 5550

**示例:**

5551
```js
Z
zhengjiangliang 已提交
5552 5553 5554 5555 5556 5557 5558
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 已提交
5559 5560
```

Z
zhengjiangliang 已提交
5561
### setKeepScreenOn<sup>(deprecated)</sup>
L
leafly2021 已提交
5562

Z
zhengjiangliang 已提交
5563
setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
L
leafly2021 已提交
5564

Z
zhengjiangliang 已提交
5565
设置屏幕是否为常亮状态,使用callback异步回调。
L
leafly2021 已提交
5566

Z
zhengjiangliang 已提交
5567 5568 5569
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9)。
L
leafly2021 已提交
5570 5571 5572 5573 5574

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

**参数:**

Z
zhengjiangliang 已提交
5575 5576 5577 5578
| 参数名         | 类型                      | 必填 | 说明                     |
| -------------- | ------------------------- | ---- | ------------------------ |
| isKeepScreenOn | boolean                   | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。               |
L
leafly2021 已提交
5579 5580 5581

**示例:**

5582
```js
Z
zhengjiangliang 已提交
5583 5584 5585 5586 5587 5588 5589 5590
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 已提交
5591 5592
```

Z
zhengjiangliang 已提交
5593
### setKeepScreenOn<sup>(deprecated)</sup>
L
leafly2021 已提交
5594

Z
zhengjiangliang 已提交
5595
setKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
L
leafly2021 已提交
5596

Z
zhengjiangliang 已提交
5597
设置屏幕是否为常亮状态,使用Promise异步回调。
L
leafly2021 已提交
5598

Z
zhengjiangliang 已提交
5599 5600 5601
> **说明:**
> 
> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9-1)。
L
leafly2021 已提交
5602 5603 5604

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

Z
zhengjiangliang 已提交
5605 5606 5607 5608 5609 5610 5611
**参数:**

| 参数名         | 类型    | 必填 | 说明                     |
| -------------- | ------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |

**返回值:**
L
leafly2021 已提交
5612

Z
zhengjiangliang 已提交
5613 5614 5615
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
leafly2021 已提交
5616 5617 5618

**示例:**

5619
```js
Z
zhengjiangliang 已提交
5620 5621 5622 5623 5624 5625 5626
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 已提交
5627 5628
```

Z
zhengjiangliang 已提交
5629
### setOutsideTouchable<sup>(deprecated)</sup>
L
leafly2021 已提交
5630

Z
zhengjiangliang 已提交
5631
setOutsideTouchable(touchable: boolean, callback: AsyncCallback&lt;void&gt;): void
L
leafly2021 已提交
5632

Z
zhengjiangliang 已提交
5633
设置是否允许可点击子窗口之外的区域,使用callback异步回调。
L
leafly2021 已提交
5634

Z
zhengjiangliang 已提交
5635 5636 5637
> **说明:**
> 
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
L
leafly2021 已提交
5638 5639 5640

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

Z
zhengjiangliang 已提交
5641
**参数:**
L
leafly2021 已提交
5642

Z
zhengjiangliang 已提交
5643 5644 5645 5646
| 参数名    | 类型                      | 必填 | 说明             |
| --------- | ------------------------- | ---- | ---------------- |
| touchable | boolean                   | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |
| callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。       |
L
leafly2021 已提交
5647 5648 5649

**示例:**

5650
```js
Z
zhengjiangliang 已提交
5651
windowClass.setOutsideTouchable(true, (err) => {
L
leafly2021 已提交
5652
    if (err.code) {
Z
zhengjiangliang 已提交
5653
        console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
5654 5655
        return;
    }
Z
zhengjiangliang 已提交
5656
    console.info('Succeeded in setting the area to be touchable.');
L
leafly2021 已提交
5657 5658 5659
})
```

Z
zhengjiangliang 已提交
5660
### setOutsideTouchable<sup>(deprecated)</sup>
5661

Z
zhengjiangliang 已提交
5662
setOutsideTouchable(touchable: boolean): Promise&lt;void&gt;
5663

Z
zhengjiangliang 已提交
5664
设置是否允许可点击子窗口之外的区域,使用Promise异步回调。。
5665

Z
zhengjiangliang 已提交
5666 5667 5668
> **说明:**
> 
> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5669 5670 5671 5672 5673

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

**参数:**

Z
zhengjiangliang 已提交
5674 5675 5676 5677 5678 5679 5680 5681 5682
| 参数名    | 类型    | 必填 | 说明             |
| --------- | ------- | ---- | ---------------- |
| touchable | boolean | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |

**返回值:**

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

**示例:**

```js
Z
zhengjiangliang 已提交
5687 5688 5689 5690 5691 5692
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));
});
5693 5694
```

Z
zhengjiangliang 已提交
5695
### setPrivacyMode<sup>(deprecated)</sup>
5696

Z
zhengjiangliang 已提交
5697
setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
5698

Z
zhengjiangliang 已提交
5699
设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
5700

Z
zhengjiangliang 已提交
5701 5702 5703
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9)。
5704 5705 5706 5707 5708

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

**参数:**

Z
zhengjiangliang 已提交
5709 5710 5711 5712
| 参数名        | 类型                      | 必填 | 说明                 |
| ------------- | ------------------------- | ---- | -------------------- |
| isPrivacyMode | boolean                   | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
| callback      | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5713 5714 5715 5716

**示例:**

```js
Z
zhengjiangliang 已提交
5717 5718 5719 5720 5721 5722 5723 5724 5725
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.');

});
5726 5727
```

Z
zhengjiangliang 已提交
5728
### setPrivacyMode<sup>(deprecated)</sup>
5729

Z
zhengjiangliang 已提交
5730
setPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
5731

Z
zhengjiangliang 已提交
5732
设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
5733

Z
zhengjiangliang 已提交
5734 5735 5736
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9-1)。
5737 5738 5739 5740 5741

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

**参数:**

Z
zhengjiangliang 已提交
5742 5743 5744 5745 5746 5747 5748 5749 5750
| 参数名        | 类型    | 必填 | 说明                 |
| ------------- | ------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |

**返回值:**

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

**示例:**

```js
Z
zhengjiangliang 已提交
5755 5756 5757 5758 5759 5760 5761
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));
});
5762 5763
```

Z
zhengjiangliang 已提交
5764
### setTouchable<sup>(deprecated)</sup>
5765

Z
zhengjiangliang 已提交
5766
setTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void
5767

Z
zhengjiangliang 已提交
5768
设置窗口是否为可触状态,使用callback异步回调。
5769

Z
zhengjiangliang 已提交
5770 5771 5772
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9)。
5773 5774 5775 5776 5777

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

**参数:**

Z
zhengjiangliang 已提交
5778 5779 5780 5781
| 参数名      | 类型                      | 必填 | 说明                 |
| ----------- | ------------------------- | ---- | -------------------- |
| isTouchable | boolean                   | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5782 5783 5784 5785

**示例:**

```js
Z
zhengjiangliang 已提交
5786 5787 5788 5789 5790 5791 5792 5793 5794
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.');

});
5795 5796
```

Z
zhengjiangliang 已提交
5797
### setTouchable<sup>(deprecated)</sup>
5798

Z
zhengjiangliang 已提交
5799
setTouchable(isTouchable: boolean): Promise&lt;void&gt;
5800

Z
zhengjiangliang 已提交
5801
设置窗口是否为可触状态,使用Promise异步回调。
5802

Z
zhengjiangliang 已提交
5803 5804 5805
> **说明:**
> 
> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9-1)。
5806 5807 5808 5809 5810 5811 5812

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

**参数:**

| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
Z
zhengjiangliang 已提交
5813 5814 5815 5816 5817 5818 5819
| isTouchable | boolean | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |

**返回值:**

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

**示例:**

```js
Z
zhengjiangliang 已提交
5824 5825 5826 5827 5828 5829 5830
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));
});
5831 5832
```

G
ge-yafang 已提交
5833
## WindowStageEventType<sup>9+</sup>
L
leafly2021 已提交
5834 5835 5836

WindowStage生命周期。

5837
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
5838 5839

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
5840

G
ge-yafang 已提交
5841 5842
| 名称       | 默认值 | 说明       |
| ---------- | ------ | ---------- |
Q
qianlf 已提交
5843
| SHOWN      | 1      | 切到前台。 |
G
ge-yafang 已提交
5844 5845
| ACTIVE     | 2      | 获焦状态。 |
| INACTIVE   | 3      | 失焦状态。 |
Q
qianlf 已提交
5846
| HIDDEN     | 4      | 切到后台。 |
L
leafly2021 已提交
5847 5848 5849

## WindowStage<sup>9+</sup>

G
ge-yafang 已提交
5850 5851
窗口管理器。管理各个基本窗口单元,即[Window](#window)实例。

L
leafly2021 已提交
5852 5853 5854 5855
下列API示例中都需在[onWindowStageCreate()](js-apis-application-ability.md#abilityonwindowstagecreate)函数中使用WindowStage的实例调用对应方法。

### getMainWindow<sup>9+</sup>

G
ge-yafang 已提交
5856 5857 5858 5859
getMainWindow(callback: AsyncCallback&lt;Window&gt;): void

获取该WindowStage实例下的主窗口,使用callback异步回调。

5860
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
5861 5862 5863

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

L
leafly2021 已提交
5864
**参数:**
G
ge-yafang 已提交
5865 5866 5867 5868 5869

| 参数名   | 类型                                   | 必填 | 说明                                          |
| -------- | -------------------------------------- | ---- | --------------------------------------------- |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的主窗口对象。 |

Z
zhengjiangliang 已提交
5870 5871 5872 5873 5874 5875 5876 5877 5878
**错误码:**

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

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

L
leafly2021 已提交
5879
**示例:**
G
ge-yafang 已提交
5880 5881 5882 5883 5884 5885

```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
5886
        let windowClass = null;
G
ge-yafang 已提交
5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897
        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));
        });
    }
}
```
5898

G
ge-yafang 已提交
5899 5900
### getMainWindow<sup>9+</sup>

L
leafly2021 已提交
5901 5902
getMainWindow(): Promise&lt;Window&gt;

G
ge-yafang 已提交
5903
获取该WindowStage实例下的主窗口,使用Promise异步回调。
L
leafly2021 已提交
5904

5905
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
5906

G
ge-yafang 已提交
5907
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
5908

L
leafly2021 已提交
5909
**返回值:**
L
leafly2021 已提交
5910

G
ge-yafang 已提交
5911 5912 5913
| 类型                             | 说明                                             |
| -------------------------------- | ------------------------------------------------ |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的主窗口对象。 |
L
leafly2021 已提交
5914

Z
zhengjiangliang 已提交
5915 5916 5917 5918 5919 5920 5921 5922 5923
**错误码:**

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

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

L
leafly2021 已提交
5924
**示例:**
L
leafly2021 已提交
5925

G
ge-yafang 已提交
5926 5927 5928 5929 5930
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
5931
        let windowClass = null;
G
ge-yafang 已提交
5932 5933 5934 5935 5936 5937 5938 5939 5940 5941
        let promise = windowStage.getMainWindow();
        promise.then((data)=> {
        windowClass = data;
            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
        }).catch((err)=>{
            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
        });
    }
}
```
5942 5943 5944

### getMainWindowSync<sup>9+</sup>

Z
zhengjiangliang 已提交
5945
getMainWindowSync(): Window
5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958

获取该WindowStage实例下的主窗口。

**模型约束:** 此接口仅可在Stage模型下使用。

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

**返回值:**

| 类型 | 说明 |
| ----------------- | --------------------------------- |
| [Window](#window) | 返回当前WindowStage下的主窗口对象。 |

Z
zhengjiangliang 已提交
5959 5960 5961 5962 5963 5964 5965 5966 5967
**错误码:**

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

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

5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983
**示例:**

```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        try {
            let windowClass = windowStage.getMainWindowSync();
        } catch (exception) {
            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(exception));
        };
    }
}
```

G
ge-yafang 已提交
5984
### createSubWindow<sup>9+</sup>
L
leafly2021 已提交
5985

G
ge-yafang 已提交
5986 5987 5988 5989
createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void

创建该WindowStage实例下的子窗口,使用callback异步回调。

5990
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
5991

G
ge-yafang 已提交
5992
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
5993

L
leafly2021 已提交
5994
**参数:**
L
leafly2021 已提交
5995

G
ge-yafang 已提交
5996 5997 5998 5999
| 参数名   | 类型                                   | 必填 | 说明                                          |
| -------- | -------------------------------------- | ---- | --------------------------------------------- |
| name     | String                                 | 是   | 子窗口的名字。                                |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的子窗口对象。 |
L
leafly2021 已提交
6000

Z
zhengjiangliang 已提交
6001 6002 6003 6004 6005 6006 6007 6008 6009
**错误码:**

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

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

L
leafly2021 已提交
6010
**示例:**
L
leafly2021 已提交
6011

G
ge-yafang 已提交
6012 6013 6014 6015 6016
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6017
        let windowClass = null;
6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030
        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 已提交
6031 6032 6033
    }
}
```
L
leafly2021 已提交
6034 6035 6036 6037
### createSubWindow<sup>9+</sup>

createSubWindow(name: string): Promise&lt;Window&gt;

G
ge-yafang 已提交
6038
创建该WindowStage实例下的子窗口,使用Promise异步回调。
L
leafly2021 已提交
6039

6040
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6041

G
ge-yafang 已提交
6042
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6043

L
leafly2021 已提交
6044
**参数:**
L
leafly2021 已提交
6045

G
ge-yafang 已提交
6046 6047 6048
| 参数名 | 类型   | 必填 | 说明           |
| ------ | ------ | ---- | -------------- |
| name   | String | 是   | 子窗口的名字。 |
G
ge-yafang 已提交
6049

L
leafly2021 已提交
6050
**返回值:**
L
leafly2021 已提交
6051

G
ge-yafang 已提交
6052 6053 6054
| 类型                             | 说明                                             |
| -------------------------------- | ------------------------------------------------ |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的子窗口对象。 |
L
leafly2021 已提交
6055

Z
zhengjiangliang 已提交
6056 6057 6058 6059 6060 6061 6062 6063 6064
**错误码:**

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

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

L
leafly2021 已提交
6065
**示例:**
L
leafly2021 已提交
6066

G
ge-yafang 已提交
6067 6068 6069 6070 6071
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6072
        let windowClass = null;
6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083
        try {
            let promise = windowStage.createSubWindow('mySubWindow');
            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));
            });
        } catch (exception) {
            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
6084 6085 6086
    }
}
```
6087

G
ge-yafang 已提交
6088
### getSubWindow<sup>9+</sup>
L
leafly2021 已提交
6089

G
ge-yafang 已提交
6090 6091 6092 6093
getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void

获取该WindowStage实例下的所有子窗口,使用callback异步回调。

6094
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
6095

G
ge-yafang 已提交
6096
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
6097

L
leafly2021 已提交
6098
**参数:**
L
leafly2021 已提交
6099

G
ge-yafang 已提交
6100 6101 6102
| 参数名   | 类型                                                | 必填 | 说明                                              |
| -------- | --------------------------------------------------- | ---- | ------------------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[Window](#window)&gt;&gt; | 是   | 回调函数。返回当前WindowStage下的所有子窗口对象。 |
L
leafly2021 已提交
6103

Z
zhengjiangliang 已提交
6104 6105 6106 6107 6108 6109 6110 6111
**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6112
**示例:**
L
leafly2021 已提交
6113

G
ge-yafang 已提交
6114 6115 6116 6117 6118
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6119
        let windowClass = null;
G
ge-yafang 已提交
6120 6121
        windowStage.getSubWindow((err, data) => {
            if (err.code) {
6122
                console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
6123 6124 6125
                return;
            }
            windowClass = data;
6126
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
6127 6128 6129 6130
        });
    }
}
```
L
leafly2021 已提交
6131 6132 6133 6134
### getSubWindow<sup>9+</sup>

getSubWindow(): Promise&lt;Array&lt;Window&gt;&gt;

G
ge-yafang 已提交
6135
获取该WindowStage实例下的所有子窗口,使用Promise异步回调。
L
leafly2021 已提交
6136

6137
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6138

G
ge-yafang 已提交
6139
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6140

L
leafly2021 已提交
6141
**返回值:**
L
leafly2021 已提交
6142

G
ge-yafang 已提交
6143 6144 6145
| 类型                                          | 说明                                                 |
| --------------------------------------------- | ---------------------------------------------------- |
| Promise&lt;Array&lt;[Window](#window)&gt;&gt; | Promise对象。返回当前WindowStage下的所有子窗口对象。 |
L
leafly2021 已提交
6146

Z
zhengjiangliang 已提交
6147 6148 6149 6150 6151 6152 6153 6154
**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300005 | This window stage is abnormal. |

L
leafly2021 已提交
6155
**示例:**
L
leafly2021 已提交
6156

G
ge-yafang 已提交
6157 6158 6159 6160 6161
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6162
        let windowClass = null;
G
ge-yafang 已提交
6163 6164 6165
        let promise = windowStage.getSubWindow();
        promise.then((data)=> {
            windowClass = data;
6166
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
6167
        }).catch((err)=>{
6168
            console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
6169 6170 6171 6172 6173
        })
    }
}
```
### loadContent<sup>9+</sup>
L
leafly2021 已提交
6174

G
ge-yafang 已提交
6175 6176 6177 6178
loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。

6179
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
6180

G
ge-yafang 已提交
6181
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6182

L
leafly2021 已提交
6183
**参数:**
L
leafly2021 已提交
6184

G
ge-yafang 已提交
6185 6186 6187
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path     | string                                          | 是   | 设置加载页面的路径。                                         |
L
leafly2021 已提交
6188
| storage  | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
G
ge-yafang 已提交
6189
| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
L
leafly2021 已提交
6190

Z
zhengjiangliang 已提交
6191 6192 6193 6194 6195 6196 6197 6198 6199
**错误码:**

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

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

G
ge-yafang 已提交
6200
**示例:**
L
leafly2021 已提交
6201

G
ge-yafang 已提交
6202 6203 6204
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
L
leafly2021 已提交
6205
    storage : LocalStorage
G
ge-yafang 已提交
6206 6207
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
6208
        this.storage.setOrCreate('storageSimpleProp',121);
G
ge-yafang 已提交
6209
        console.log('onWindowStageCreate');
6210
        try {
Z
zhengjiangliang 已提交
6211
            windowStage.loadContent('pages/page2',this.storage,(err) => {
6212 6213 6214 6215
                if (err.code) {
                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                    return;
                }
Z
zhengjiangliang 已提交
6216
                console.info('Succeeded in loading the content.');
6217 6218 6219 6220
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
6221 6222 6223 6224 6225 6226
    }
}
```

### loadContent<sup>9+</sup>

G
ge-yafang 已提交
6227
loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt;
G
ge-yafang 已提交
6228 6229 6230

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。

6231
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6232 6233 6234

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

L
leafly2021 已提交
6235
**参数:**
G
ge-yafang 已提交
6236

G
ge-yafang 已提交
6237 6238 6239
| 参数名  | 类型                                            | 必填 | 说明                                                         |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path    | string                                          | 是   | 设置加载页面的路径。                                         |
L
leafly2021 已提交
6240
| storage | [LocalStorage](../../quick-start/arkts-state-mgmt-application-level.md#localstorage) | 否   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
G
ge-yafang 已提交
6241 6242 6243 6244 6245 6246 6247

**返回值:**

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

Z
zhengjiangliang 已提交
6248 6249 6250 6251 6252 6253 6254 6255 6256
**错误码:**

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

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

G
ge-yafang 已提交
6257 6258 6259 6260 6261
**示例:**

```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
L
leafly2021 已提交
6262
    storage : LocalStorage
G
ge-yafang 已提交
6263 6264
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
6265
        this.storage.setOrCreate('storageSimpleProp',121);
G
ge-yafang 已提交
6266
        console.log('onWindowStageCreate');
6267 6268
        try {
            let promise = windowStage.loadContent('pages/page2',this.storage);
Z
zhengjiangliang 已提交
6269 6270
            promise.then(()=> {
                console.info('Succeeded in loading the content.');
6271 6272 6273 6274 6275 6276
            }).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));
        };
G
ge-yafang 已提交
6277 6278 6279
    }
}
```
L
leafly2021 已提交
6280 6281 6282 6283 6284

### loadContent<sup>9+</sup>

loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
6285
为当前WindowStage的主窗口加载具体页面内容,使用callback异步回调。
L
leafly2021 已提交
6286

6287
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6288 6289

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
6290

L
leafly2021 已提交
6291
**参数:**
L
leafly2021 已提交
6292

G
ge-yafang 已提交
6293 6294 6295 6296
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| path     | string                    | 是   | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
G
ge-yafang 已提交
6297

Z
zhengjiangliang 已提交
6298 6299 6300 6301 6302 6303 6304 6305 6306
**错误码:**

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

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

L
leafly2021 已提交
6307
**示例:**
L
leafly2021 已提交
6308

G
ge-yafang 已提交
6309 6310 6311 6312 6313
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6314
        try {
Z
zhengjiangliang 已提交
6315
            windowStage.loadContent('pages/page2', (err) => {
6316 6317 6318 6319
                if (err.code) {
                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                    return;
                }
Z
zhengjiangliang 已提交
6320
                console.info('Succeeded in loading the content.');
6321 6322 6323 6324
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
G
ge-yafang 已提交
6325 6326 6327
    }
}
```
G
ge-yafang 已提交
6328

L
leafly2021 已提交
6329 6330 6331 6332 6333 6334
### on('windowStageEvent')<sup>9+</sup>

on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt;): void

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

6335
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6336

G
ge-yafang 已提交
6337
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6338

L
leafly2021 已提交
6339
**参数:**
L
leafly2021 已提交
6340

G
ge-yafang 已提交
6341 6342 6343
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
G
ge-yafang 已提交
6344
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 是   | 回调函数。返回当前的WindowStage生命周期状态。                |
L
leafly2021 已提交
6345

Z
zhengjiangliang 已提交
6346 6347 6348 6349 6350 6351 6352 6353 6354
**错误码:**

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

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

L
leafly2021 已提交
6355
**示例:**
L
leafly2021 已提交
6356

G
ge-yafang 已提交
6357 6358 6359 6360 6361
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6362 6363 6364 6365 6366 6367 6368 6369 6370
        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 已提交
6371 6372 6373
    }
}
```
L
leafly2021 已提交
6374 6375 6376 6377 6378 6379 6380

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

off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&gt;): void

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

6381
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6382

G
ge-yafang 已提交
6383
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
6384

L
leafly2021 已提交
6385
**参数:**
L
leafly2021 已提交
6386

G
ge-yafang 已提交
6387 6388 6389
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
G
ge-yafang 已提交
6390
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 否   | 回调函数。返回当前的WindowStage生命周期状态。                |
G
ge-yafang 已提交
6391

Z
zhengjiangliang 已提交
6392 6393 6394 6395 6396 6397 6398 6399 6400
**错误码:**

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

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

L
leafly2021 已提交
6401
**示例:**
L
leafly2021 已提交
6402

G
ge-yafang 已提交
6403 6404 6405 6406 6407
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6408 6409 6410 6411 6412 6413
        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 已提交
6414 6415 6416
    }
}
```
Q
qianlf 已提交
6417

L
leafly2021 已提交
6418 6419 6420 6421 6422 6423
### disableWindowDecor()<sup>9+</sup>

disableWindowDecor(): void

禁止窗口装饰。

6424
**模型约束:** 此接口仅可在Stage模型下使用。
L
leafly2021 已提交
6425

6426
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
6427 6428 6429

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

Z
zhengjiangliang 已提交
6430 6431 6432 6433 6434 6435 6436 6437 6438
**错误码:**

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

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

L
leafly2021 已提交
6439
**示例:**
L
leafly2021 已提交
6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451

```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('disableWindowDecor');
        windowStage.disableWindowDecor();
    }
}
```

### setShowOnLockScreen()<sup>9+</sup>
Q
qianlf 已提交
6452 6453 6454 6455

setShowOnLockScreen(showOnLockScreen: boolean): void

设置应用显示在锁屏之上。
L
leafly2021 已提交
6456

6457
**系统接口:** 此接口为系统接口。
Q
qianlf 已提交
6458

6459
**模型约束:** 此接口仅可在Stage模型下使用。
G
ge-yafang 已提交
6460

Q
qianlf 已提交
6461 6462
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

L
leafly2021 已提交
6463
**参数:**
Q
qianlf 已提交
6464 6465 6466

| 参数名           | 类型    | 必填 | 说明                         |
| ---------------- | ------- | ---- | ---------------------------- |
Z
zhengjiangliang 已提交
6467 6468 6469 6470 6471 6472 6473 6474 6475 6476
| showOnLockScreen | boolean | 是   | 是否设置应用显示在锁屏之上。true表示显示在锁屏之上;false表示不显示在锁屏之上。 |

**错误码:**

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

| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 1300002 | This window state is abnormal. |
| 1300005 | This window stage is abnormal. |
Q
qianlf 已提交
6477

L
leafly2021 已提交
6478
**示例:**
Q
qianlf 已提交
6479 6480

```ts
G
ge-yafang 已提交
6481
import Ability from '@ohos.application.Ability';
Q
qianlf 已提交
6482 6483 6484
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
6485 6486 6487 6488 6489
        try {
            windowStage.setShowOnLockScreen(true);
        } catch (exception) {
            console.error('Failed to show on lockscreen. Cause:' + JSON.stringify(exception));
        };
Q
qianlf 已提交
6490 6491 6492
    }
}
```
L
leafly2021 已提交
6493 6494 6495 6496
## TransitionContext<sup>9+</sup>

属性转换的上下文信息。

L
leafly2021 已提交
6497
### 属性
L
leafly2021 已提交
6498

L
leafly2021 已提交
6499
**系统接口:** 此接口为系统接口。
L
leafly2021 已提交
6500 6501 6502

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

L
leafly2021 已提交
6503 6504 6505
| 名称                  | 参数类型          | 可读 | 可写 | 说明             |
| --------------------- | ----------------- | ---- | ---- | ---------------- |
| toWindow<sup>9+</sup> | [Window](#window) | 是   | 是   | 动画的目标窗口。 |
L
leafly2021 已提交
6506 6507 6508 6509 6510 6511 6512

### completeTransition<sup>9+</sup>

completeTransition(isCompleted: boolean): void

设置属性转换的最终完成状态。该函数需要在动画函数[animateTo()](../arkui-ts/ts-explicit-animation.md)执行后设置。

L
leafly2021 已提交
6513 6514
**系统接口:** 此接口为系统接口。

L
leafly2021 已提交
6515 6516 6517 6518 6519 6520
**系统能力**:SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名      | 类型    | 必填 | 说明                                                         |
| ----------- | ------- | ---- | ------------------------------------------------------------ |
Z
zhengjiangliang 已提交
6521
| isCompleted | boolean | 是   | 窗口属性转换是否完成。true表示完成本次转换;false表示撤销本次转换。 |
L
leafly2021 已提交
6522 6523 6524

**示例:**

6525
```js
L
leafly2021 已提交
6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536
let controller = windowClass.getTransitionController();
controller.animationForShown = (context : window.TransitionContext) => {
	let toWindow = context.toWindow
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
      }, () => {
6537
        let obj : window.TranslateOptions = {
C
chenhaiying 已提交
6538 6539 6540 6541
          x : 100.0,
          y : 0.0,
          z : 0.0
        }
L
leafly2021 已提交
6542 6543 6544 6545
        toWindow.translate(obj);
        console.info('toWindow translate end');
      }
    )
6546 6547 6548 6549 6550
    try {
        context.completeTransition(true)
    } catch (exception) {
        console.info('toWindow translate fail. Cause: ' + JSON.stringify(exception));
    }
L
leafly2021 已提交
6551
    console.info('complete transition end');
6552
};
L
leafly2021 已提交
6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564
```

## TransitionController<sup>9+</sup>

属性转换控制器。

### animationForShown<sup>9+</sup>

animationForShown(context: TransitionContext): void

窗口显示时的自定义动画配置。

L
leafly2021 已提交
6565 6566
**系统接口:** 此接口为系统接口。

L
leafly2021 已提交
6567 6568 6569 6570 6571 6572 6573 6574 6575 6576
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名  | 类型                                     | 必填 | 说明                 |
| ------- | ---------------------------------------- | ---- | -------------------- |
| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |

**示例:**

6577
```js
L
leafly2021 已提交
6578 6579 6580 6581 6582 6583 6584 6585 6586 6587
let controller = windowClass.getTransitionController();
controller.animationForShown = (context : window.TransitionContext) => {
	let toWindow = context.toWindow
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
C
chenhaiying 已提交
6588 6589 6590
        onFinish: ()=> {
            context.completeTransition(true)
        }  
L
leafly2021 已提交
6591
      }, () => {
6592
        let obj : window.TranslateOptions = {
C
chenhaiying 已提交
6593 6594 6595 6596
          x : 100.0,
          y : 0.0,
          z : 0.0
        }
L
leafly2021 已提交
6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610
        toWindow.translate(obj);
        console.info('toWindow translate end');
      }
    )
    console.info('complete transition end');
}
```

### animationForHidden<sup>9+</sup>

animationForHidden(context: TransitionContext): void

窗口隐藏时的自定义动画配置。

L
leafly2021 已提交
6611 6612
**系统接口:** 此接口为系统接口。

L
leafly2021 已提交
6613 6614 6615 6616 6617 6618 6619 6620 6621 6622
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名  | 类型                                     | 必填 | 说明                 |
| ------- | ---------------------------------------- | ---- | -------------------- |
| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |

**示例:**

6623
```js
L
leafly2021 已提交
6624 6625 6626 6627 6628 6629 6630 6631 6632 6633
let controller = windowClass.getTransitionController();
controller.animationForHidden = (context : window.TransitionContext) => {
	let toWindow = context.toWindow
 	animateTo({
    	duration: 1000, // 动画时长
        tempo: 0.5, // 播放速率
        curve: Curve.EaseInOut, // 动画曲线
        delay: 0, // 动画延迟
        iterations: 1, // 播放次数
        playMode: PlayMode.Normal, // 动画模式
C
chenhaiying 已提交
6634 6635 6636
        onFinish: ()=> {
            context.completeTransition(true)
        }  
L
leafly2021 已提交
6637
      }, () => {
6638
        let obj : window.TranslateOptions = {
C
chenhaiying 已提交
6639 6640 6641 6642
          x : 100.0,
          y : 0.0,
          z : 0.0
        }
L
leafly2021 已提交
6643 6644 6645 6646 6647 6648
        toWindow.translate(obj);
        console.info('toWindow translate end');
      }
    )
    console.info('complete transition end');
}
Z
zhengjiangliang 已提交
6649
```