• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# WindowManager_NativeModule
2
3
4## 概述
5
6提供应用窗口的管理能力。
7
8**起始版本:** 12
9
10
11## 汇总
12
13
14### 文件
15
16| 名称 | 描述 |
17| -------- | -------- |
18| [oh_window.h](oh__window_8h.md) | 定义窗口管理的相关接口,主要用于设置和获取指定窗口的属性,以及设置指定窗口的状态栏样式、导航栏样式。 |
19| [oh_window_comm.h](oh__window__comm_8h.md) | 提供窗口的公共枚举、公共定义等。 |
20| [oh_window_event_filter.h](oh__window__event__filter_8h.md) | 定义窗口管理按键事件过滤的接口,当多模输入的事件经过窗口时,可以通过过滤接口拦截事件不让事件往下分发。 |
21
22
23### 结构体
24
25| 名称 | 描述 |
26| -------- | -------- |
27| struct  [WindowManager_Rect](_window_manager___rect.md) | 定义窗口矩形结构体,包含窗口位置和宽高信息。 |
28| struct  [WindowManager_WindowProperties](_window_manager___window_properties.md) | 窗口属性。 |
29| struct  [WindowManager_AvoidArea](_window_manager___avoid_area.md) | 定义避让区域结构体。 |
30
31
32### 类型定义
33
34| 名称 | 描述 |
35| -------- | -------- |
36| typedef enum [WindowManager_ErrorCode](#windowmanager_errorcode)  [WindowManager_ErrorCode](#windowmanager_errorcode) | 窗口管理接口返回状态码枚举。 |
37| typedef bool(\* [OH_NativeWindowManager_KeyEventFilter](#oh_nativewindowmanager_keyeventfilter)) (Input_KeyEvent \*keyEvent) | 定义多模按键的过滤函数。 |
38| typedef bool(\* [OH_NativeWindowManager_MouseEventFilter](#oh_nativewindowmanager_mouseeventfilter)) (Input_MouseEvent \*mouseEvent) | 定义多模鼠标事件的过滤函数。 |
39| typedef bool(\* [OH_NativeWindowManager_TouchEventFilter](#oh_nativewindowmanager_toucheventfilter)) (Input_TouchEvent \*touchEvent) | 定义多模触摸事件的过滤函数。 |
40
41
42### 枚举
43
44| 名称 | 描述 |
45| -------- | -------- |
46| [WindowManager_ErrorCode](#windowmanager_errorcode-1) {<br/>OK = 0, WINDOW_MANAGER_ERRORCODE_NO_PERMISSION = 201, WINDOW_MANAGER_ERRORCODE_INVALID_PARAM = 401, WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED = 801,<br/>INVAILD_WINDOW_ID = 1000, SERVICE_ERROR = 2000, WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL = 1300002, WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL = 1300003<br/>} | 窗口管理接口返回状态码枚举。 |
47| [WindowManager_AvoidAreaType](#windowmanager_avoidareatype) {<br/>WINDOW_MANAGER_AVOID_AREA_TYPE_SYSTEM = 0, WINDOW_MANAGER_AVOID_AREA_TYPE_CUTOUT = 1, WINDOW_MANAGER_AVOID_AREA_TYPE_SYSTEM_GESTURE = 2, WINDOW_MANAGER_AVOID_AREA_TYPE_KEYBOARD = 3,<br/>WINDOW_MANAGER_AVOID_AREA_TYPE_NAVIGATION_INDICATOR = 4<br/>} | 避让区域枚举类型。 |
48| [WindowManager_WindowType](#windowmanager_windowtype) { WINDOW_MANAGER_WINDOW_TYPE_APP = 0, WINDOW_MANAGER_WINDOW_TYPE_MAIN = 1, WINDOW_MANAGER_WINDOW_TYPE_FLOAT = 8, WINDOW_MANAGER_WINDOW_TYPE_DIALOG = 16 } | 窗口类型。 |
49
50
51### 函数
52
53| 名称 | 描述 |
54| -------- | -------- |
55| int32_t [OH_WindowManager_SetWindowStatusBarEnabled](#oh_windowmanager_setwindowstatusbarenabled) (int32_t windowId, bool enabled, bool enableAnimation) | 设置指定窗口是否显示状态栏。 |
56| int32_t [OH_WindowManager_SetWindowStatusBarColor](#oh_windowmanager_setwindowstatusbarcolor) (int32_t windowId, int32_t color) | 设置指定窗口的状态栏内容颜色。 |
57| int32_t [OH_WindowManager_SetWindowNavigationBarEnabled](#oh_windowmanager_setwindownavigationbarenabled) (int32_t windowId, bool enabled, bool enableAnimation) | 设置指定窗口是否显示导航栏。 |
58| int32_t [OH_WindowManager_GetWindowAvoidArea](#oh_windowmanager_getwindowavoidarea) (int32_t windowId, [WindowManager_AvoidAreaType](#windowmanager_avoidareatype) type, [WindowManager_AvoidArea](_window_manager___avoid_area.md) \*avoidArea) | 获取指定窗口的避让区域。 |
59| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_WindowManager_IsWindowShown](#oh_windowmanager_iswindowshown) (int32_t windowId, bool \*isShow) | 判断指定窗口是否显示。 |
60| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_WindowManager_ShowWindow](#oh_windowmanager_showwindow) (int32_t windowId) | 显示指定窗口。 |
61| int32_t [OH_WindowManager_SetWindowTouchable](#oh_windowmanager_setwindowtouchable) (int32_t windowId, bool isTouchable) | 设置指定窗口是否可触。 |
62| int32_t [OH_WindowManager_SetWindowFocusable](#oh_windowmanager_setwindowfocusable) (int32_t windowId, bool isFocusable) | 设置指定窗口是否可获焦。 |
63| int32_t [OH_WindowManager_SetWindowBackgroundColor](#oh_windowmanager_setwindowbackgroundcolor) (int32_t windowId, const char \*color) | 设置指定窗口背景颜色。 |
64| int32_t [OH_WindowManager_SetWindowBrightness](#oh_windowmanager_setwindowbrightness) (int32_t windowId, float brightness) | 设置指定窗口的屏幕亮度。 |
65| int32_t [OH_WindowManager_SetWindowKeepScreenOn](#oh_windowmanager_setwindowkeepscreenon) (int32_t windowId, bool isKeepScreenOn) | 设置指定窗口是否开启屏幕常亮。 |
66| int32_t [OH_WindowManager_SetWindowPrivacyMode](#oh_windowmanager_setwindowprivacymode) (int32_t windowId, bool isPrivacy) | 设置指定窗口是否开启隐私模式。 |
67| int32_t [OH_WindowManager_GetWindowProperties](#oh_windowmanager_getwindowproperties) (int32_t windowId, [WindowManager_WindowProperties](_window_manager___window_properties.md) \*windowProperties) | 获取指定窗口属性。 |
68| int32_t [OH_WindowManager_Snapshot](#oh_windowmanager_snapshot) (int32_t windowId, OH_PixelmapNative \*pixelMap) | 获取指定窗口截图。 |
69| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_NativeWindowManager_RegisterKeyEventFilter](#oh_nativewindowmanager_registerkeyeventfilter) (int32_t windowId, [OH_NativeWindowManager_KeyEventFilter](#oh_nativewindowmanager_keyeventfilter) keyEventFilter) | 注册按键事件的过滤函数。 |
70| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_NativeWindowManager_UnregisterKeyEventFilter](#oh_nativewindowmanager_unregisterkeyeventfilter) (int32_t windowId) | 取消注册窗口的按键事件过滤函数。 |
71| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_NativeWindowManager_RegisterMouseEventFilter](#oh_nativewindowmanager_registermouseeventfilter) (int32_t windowId, [OH_NativeWindowManager_MouseEventFilter](#oh_nativewindowmanager_mouseeventfilter) mouseEventFilter) | 注册鼠标事件的过滤函数。 |
72| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_NativeWindowManager_UnregisterMouseEventFilter](#oh_nativewindowmanager_unregistermouseeventfilter) (int32_t windowId) | 取消注册窗口的鼠标事件过滤函数。 |
73| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_NativeWindowManager_RegisterTouchEventFilter](#oh_nativewindowmanager_registertoucheventfilter) (int32_t windowId, [OH_NativeWindowManager_TouchEventFilter](#oh_nativewindowmanager_toucheventfilter) touchEventFilter) | 注册触摸事件的过滤函数。 |
74| [WindowManager_ErrorCode](#windowmanager_errorcode-1)  [OH_NativeWindowManager_UnregisterTouchEventFilter](#oh_nativewindowmanager_unregistertoucheventfilter) (int32_t windowId) | 取消注册窗口的触摸事件过滤函数。 |
75
76
77## 类型定义说明
78
79
80### OH_NativeWindowManager_KeyEventFilter
81
82```
83typedef bool(* OH_NativeWindowManager_KeyEventFilter) (Input_KeyEvent *keyEvent)
84```
85
86**描述**
87
88定义多模按键的过滤函数。
89
90**起始版本:** 12
91
92**参数:**
93
94| 名称 | 描述 |
95| -------- | -------- |
96| keyEvent | 多模按键事件,具体可见**Input_KeyEvent**,事件定义在oh_input_manager中。 |
97
98**返回:**
99
100返回是否过滤该事件,返回true窗口不再往下分发,返回false表示不拦截
101
102
103### OH_NativeWindowManager_MouseEventFilter
104
105```
106typedef bool(* OH_NativeWindowManager_MouseEventFilter) (Input_MouseEvent *mouseEvent)
107```
108
109**描述**
110
111定义多模鼠标事件的过滤函数。
112
113**起始版本:** 15
114
115**参数:**
116
117| 名称 | 描述 |
118| -------- | -------- |
119| mouseEvent | 多模鼠标事件,具体可见**Input_MouseEvent**,事件定义在oh_input_manager中。 |
120
121**返回:**
122
123返回是否过滤该事件。true表示过滤该事件,不会继续往下分发;false表示不过滤不拦截此事件,将会继续分发。
124
125
126### OH_NativeWindowManager_TouchEventFilter
127
128```
129typedef bool(* OH_NativeWindowManager_TouchEventFilter) (Input_TouchEvent *touchEvent)
130```
131
132**描述**
133
134定义多模触摸事件的过滤函数。
135
136**起始版本:** 15
137
138**参数:**
139
140| 名称 | 描述 |
141| -------- | -------- |
142| touchEvent | 多模触摸事件,具体可见**Input_TouchEvent**,事件定义在oh_input_manager中。 |
143
144**返回:**
145
146返回是否过滤该事件。true表示过滤该事件,不会继续往下分发;false表示不过滤不拦截此事件,将会继续分发。
147
148
149### WindowManager_ErrorCode
150
151```
152typedef enum WindowManager_ErrorCode WindowManager_ErrorCode
153```
154
155**描述**
156
157窗口管理接口返回状态码枚举。
158
159**起始版本:** 12
160
161
162## 枚举类型说明
163
164
165### WindowManager_AvoidAreaType
166
167```
168enum WindowManager_AvoidAreaType
169```
170
171**描述**
172
173避让区域枚举类型。
174
175**起始版本:** 15
176
177| 枚举值 | 描述 |
178| -------- | -------- |
179| WINDOW_MANAGER_AVOID_AREA_TYPE_SYSTEM | 系统避让区域。 |
180| WINDOW_MANAGER_AVOID_AREA_TYPE_CUTOUT | 刘海屏避让。 |
181| WINDOW_MANAGER_AVOID_AREA_TYPE_SYSTEM_GESTURE | 系统手势区域。 |
182| WINDOW_MANAGER_AVOID_AREA_TYPE_KEYBOARD | 键盘区域。 |
183| WINDOW_MANAGER_AVOID_AREA_TYPE_NAVIGATION_INDICATOR | 导航条区域。 |
184
185
186### WindowManager_ErrorCode
187
188```
189enum WindowManager_ErrorCode
190```
191
192**描述**
193
194窗口管理接口返回状态码枚举。
195
196**起始版本:** 12
197
198| 枚举值 | 描述 |
199| -------- | -------- |
200| OK | 成功。 |
201| WINDOW_MANAGER_ERRORCODE_NO_PERMISSION<sup>15+</sup> | 无权限。 |
202| WINDOW_MANAGER_ERRORCODE_INVALID_PARAM<sup>15+</sup> | 非法参数。 |
203| WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED<sup>15+</sup> | 设备不支持。 |
204| INVAILD_WINDOW_ID | 非法窗口ID。 |
205| SERVICE_ERROR | 服务异常。 |
206| WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL<sup>15+</sup> | 窗口状态异常。 |
207| WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL<sup>15+</sup> | 窗口管理器服务异常。 |
208
209
210### WindowManager_WindowType
211
212```
213enum WindowManager_WindowType
214```
215
216**描述**
217
218窗口类型。
219
220**起始版本:** 15
221
222| 枚举值 | 描述 |
223| -------- | -------- |
224| WINDOW_MANAGER_WINDOW_TYPE_APP | 子窗口。 |
225| WINDOW_MANAGER_WINDOW_TYPE_MAIN | 主窗口。 |
226| WINDOW_MANAGER_WINDOW_TYPE_FLOAT | 悬浮窗口。 |
227| WINDOW_MANAGER_WINDOW_TYPE_DIALOG | 模态窗口。 |
228
229
230## 函数说明
231
232
233### OH_NativeWindowManager_RegisterKeyEventFilter()
234
235```
236WindowManager_ErrorCode OH_NativeWindowManager_RegisterKeyEventFilter (int32_t windowId, OH_NativeWindowManager_KeyEventFilter keyEventFilter )
237```
238
239**描述**
240
241注册按键事件的过滤函数。
242
243**起始版本:** 12
244
245**参数:**
246
247| 名称 | 描述 |
248| -------- | -------- |
249| windowId | 需要过滤按键事件的窗口ID。 |
250| keyEventFilter | 多模按键的过滤函数。 |
251
252**返回:**
253
254返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
255
256
257### OH_NativeWindowManager_RegisterMouseEventFilter()
258
259```
260WindowManager_ErrorCode OH_NativeWindowManager_RegisterMouseEventFilter (int32_t windowId, OH_NativeWindowManager_MouseEventFilter mouseEventFilter )
261```
262
263**描述**
264
265注册鼠标事件的过滤函数。
266
267**起始版本:** 15
268
269**参数:**
270
271| 名称 | 描述 |
272| -------- | -------- |
273| windowId | 需要过滤鼠标事件的窗口ID。 |
274| mouseEventFilter | 多模鼠标事件的过滤函数。 |
275
276**返回:**
277
278返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
279
280
281### OH_NativeWindowManager_RegisterTouchEventFilter()
282
283```
284WindowManager_ErrorCode OH_NativeWindowManager_RegisterTouchEventFilter (int32_t windowId, OH_NativeWindowManager_TouchEventFilter touchEventFilter )
285```
286
287**描述**
288
289注册触摸事件的过滤函数。
290
291**起始版本:** 15
292
293**参数:**
294
295| 名称 | 描述 |
296| -------- | -------- |
297| windowId | 需要过滤触摸事件的窗口ID。 |
298| touchEventFilter | 多模触摸事件的过滤函数。 |
299
300**返回:**
301
302返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
303
304
305### OH_NativeWindowManager_UnregisterKeyEventFilter()
306
307```
308WindowManager_ErrorCode OH_NativeWindowManager_UnregisterKeyEventFilter (int32_t windowId)
309```
310
311**描述**
312
313取消注册窗口的按键事件过滤函数。
314
315**起始版本:** 12
316
317**参数:**
318
319| 名称 | 描述 |
320| -------- | -------- |
321| windowId | 需要取消过滤按键事件的窗口ID。 |
322
323**返回:**
324
325返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
326
327
328### OH_NativeWindowManager_UnregisterMouseEventFilter()
329
330```
331WindowManager_ErrorCode OH_NativeWindowManager_UnregisterMouseEventFilter (int32_t windowId)
332```
333
334**描述**
335
336取消注册窗口的鼠标事件过滤函数。
337
338**起始版本:** 15
339
340**参数:**
341
342| 名称 | 描述 |
343| -------- | -------- |
344| windowId | 需要取消过滤鼠标事件的窗口ID。 |
345
346**返回:**
347
348返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
349
350
351### OH_NativeWindowManager_UnregisterTouchEventFilter()
352
353```
354WindowManager_ErrorCode OH_NativeWindowManager_UnregisterTouchEventFilter (int32_t windowId)
355```
356
357**描述**
358
359取消注册窗口的触摸事件过滤函数。
360
361**起始版本:** 15
362
363**参数:**
364
365| 名称 | 描述 |
366| -------- | -------- |
367| windowId | 需要取消过滤触摸事件的窗口ID。 |
368
369**返回:**
370
371返回窗口管理接口的通用状态码,具体可见[WindowManager_ErrorCode](#windowmanager_errorcode)。
372
373
374### OH_WindowManager_GetWindowAvoidArea()
375
376```
377int32_t OH_WindowManager_GetWindowAvoidArea (int32_t windowId, WindowManager_AvoidAreaType type, WindowManager_AvoidArea * avoidArea )
378```
379
380**描述**
381
382获取指定窗口的避让区域。
383
384**起始版本:** 15
385
386**参数:**
387
388| 名称 | 描述 |
389| -------- | -------- |
390| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
391| type | 避让区域的类型。 |
392| avoidArea | 返回指向指定窗口的避让区域的指针,作为出参使用。 |
393
394**返回:**
395
396返回结果代码。
397
398返回OK,表示函数调用成功,返回指向对应窗口id的避让区域的指针。
399
400返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
401
402返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
403
404返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
405
406
407### OH_WindowManager_GetWindowProperties()
408
409```
410int32_t OH_WindowManager_GetWindowProperties (int32_t windowId, WindowManager_WindowProperties * windowProperties )
411```
412
413**描述**
414
415获取指定窗口属性。
416
417**起始版本:** 15
418
419**参数:**
420
421| 名称 | 描述 |
422| -------- | -------- |
423| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
424| windowProperties | 返回指向指定窗口的属性的指针,作为出参使用。 |
425
426**返回:**
427
428返回结果代码。
429
430返回OK,表示函数调用成功,在windowProperties中返回窗口属性的指针。
431
432返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
433
434返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
435
436返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
437
438
439### OH_WindowManager_IsWindowShown()
440
441```
442WindowManager_ErrorCode OH_WindowManager_IsWindowShown (int32_t windowId, bool * isShow )
443```
444
445**描述**
446
447判断指定窗口是否显示。
448
449**起始版本:** 15
450
451**参数:**
452
453| 名称 | 描述 |
454| -------- | -------- |
455| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
456| isShow | 返回指定窗口是否显示的结果。true表示指定窗口显示,false表示指定窗口不显示,作为出参使用。 |
457
458**返回:**
459
460返回结果代码。
461
462返回OK,表示函数调用成功。
463
464返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
465
466返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
467
468
469### OH_WindowManager_SetWindowBackgroundColor()
470
471```
472int32_t OH_WindowManager_SetWindowBackgroundColor (int32_t windowId, const char * color )
473```
474
475**描述**
476
477设置指定窗口背景颜色。
478
479**起始版本:** 15
480
481**参数:**
482
483| 名称 | 描述 |
484| -------- | -------- |
485| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
486| color | 设置窗口的背景色。该参数为字符串类型,格式为十六进制RGB或ARGB颜色。 |
487
488**返回:**
489
490返回结果代码。
491
492返回OK,表示函数调用成功。
493
494返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
495
496返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
497
498
499### OH_WindowManager_SetWindowBrightness()
500
501```
502int32_t OH_WindowManager_SetWindowBrightness (int32_t windowId, float brightness )
503```
504
505**描述**
506
507设置指定窗口的屏幕亮度。
508
509**起始版本:** 15
510
511**参数:**
512
513| 名称 | 描述 |
514| -------- | -------- |
515| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
516| brightness | 指定的屏幕亮度值。该参数为浮点数,取值范围为[0.0, 1.0]或-1.0。1.0表示最亮,-1.0表示默认亮度。 |
517
518**返回:**
519
520返回结果代码。
521
522返回OK,表示函数调用成功。
523
524返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
525
526返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
527
528返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
529
530
531### OH_WindowManager_SetWindowFocusable()
532
533```
534int32_t OH_WindowManager_SetWindowFocusable (int32_t windowId, bool isFocusable )
535```
536
537**描述**
538
539设置指定窗口是否可获焦。
540
541**起始版本:** 15
542
543**参数:**
544
545| 名称 | 描述 |
546| -------- | -------- |
547| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
548| isFocusable | 窗口是否可获焦。true表示窗口可获焦,false表示窗口不可获焦。 |
549
550**返回:**
551
552返回结果代码。
553
554返回OK,表示函数调用成功。
555
556返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
557
558返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
559
560返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
561
562
563### OH_WindowManager_SetWindowKeepScreenOn()
564
565```
566int32_t OH_WindowManager_SetWindowKeepScreenOn (int32_t windowId, bool isKeepScreenOn )
567```
568
569**描述**
570
571设置指定窗口是否开启屏幕常亮。
572
573**起始版本:** 15
574
575**参数:**
576
577| 名称 | 描述 |
578| -------- | -------- |
579| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
580| isKeepScreenOn | 指定窗口是否开启屏幕常亮。true表示开启屏幕常亮,false表示关闭屏幕常亮。 |
581
582**返回:**
583
584返回结果代码。
585
586返回OK,表示函数调用成功。
587
588返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
589
590返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
591
592返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
593
594
595### OH_WindowManager_SetWindowNavigationBarEnabled()
596
597```
598int32_t OH_WindowManager_SetWindowNavigationBarEnabled (int32_t windowId, bool enabled, bool enableAnimation )
599```
600
601**描述**
602
603设置指定窗口是否显示导航栏。
604
605**起始版本:** 15
606
607**参数:**
608
609| 名称 | 描述 |
610| -------- | -------- |
611| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
612| enabled | 设置导航栏是否显示。true表示设置导航栏显示,false表示设置导航栏隐藏。 |
613| enableAnimation | 设置是否开启导航栏的显隐动画。true表示开启导航栏的显隐动画,false表示关闭导航栏的显隐动画。 |
614
615**返回:**
616
617返回结果代码。
618
619返回OK,表示函数调用成功。
620
621返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
622
623返回WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED,表示不支持功能。
624
625返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
626
627返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
628
629
630### OH_WindowManager_SetWindowPrivacyMode()
631
632```
633int32_t OH_WindowManager_SetWindowPrivacyMode (int32_t windowId, bool isPrivacy )
634```
635
636**描述**
637
638设置指定窗口是否开启隐私模式。
639
640**起始版本:** 15
641
642**参数:**
643
644| 名称 | 描述 |
645| -------- | -------- |
646| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
647| isPrivacy | 指定窗口是否开启隐私模式。true表示开启隐私模式,false表示关闭隐私模式。 |
648
649**需要权限:**ohos.permission.PRIVACY_WINDOW650
651**返回:**
652
653返回结果代码。
654
655返回OK,表示函数调用成功。
656
657返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
658
659返回WINDOW_MANAGER_ERRORCODE_INVALID_PERMISSION,表示参数错误。
660
661返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
662
663返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
664
665返回WINDOW_MANAGER_ERRORCODE_NO_PERMISSION,权限校验错误。
666
667
668### OH_WindowManager_SetWindowStatusBarColor()
669
670```
671int32_t OH_WindowManager_SetWindowStatusBarColor (int32_t windowId, int32_t color )
672```
673
674**描述**
675
676设置指定窗口的状态栏内容颜色。
677
678**起始版本:** 15
679
680**参数:**
681
682| 名称 | 描述 |
683| -------- | -------- |
684| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
685| color | 要设置的颜色值,格式为ARGB。 |
686
687**返回:**
688
689返回结果代码。
690
691返回OK,表示函数调用成功。
692
693返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
694
695返回WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED,表示不支持功能。
696
697返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
698
699返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
700
701
702### OH_WindowManager_SetWindowStatusBarEnabled()
703
704```
705int32_t OH_WindowManager_SetWindowStatusBarEnabled (int32_t windowId, bool enabled, bool enableAnimation )
706```
707
708**描述**
709
710设置指定窗口是否显示状态栏。
711
712**起始版本:** 15
713
714**参数:**
715
716| 名称 | 描述 |
717| -------- | -------- |
718| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
719| enabled | 设置状态栏是否显示。true表示设置状态栏显示,false表示设置状态栏隐藏。 |
720| enableAnimation | 设置是否开启状态栏的显隐动画。true表示开启状态栏的显隐动画,false表示关闭状态栏的显隐动画。 |
721
722**返回:**
723
724返回结果代码。
725
726返回OK,表示函数调用成功。
727
728返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
729
730返回WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED,表示不支持功能。
731
732返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
733
734返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
735
736
737### OH_WindowManager_SetWindowTouchable()
738
739```
740int32_t OH_WindowManager_SetWindowTouchable (int32_t windowId, bool isTouchable )
741```
742
743**描述**
744
745设置指定窗口是否可触。
746
747**起始版本:** 15
748
749**参数:**
750
751| 名称 | 描述 |
752| -------- | -------- |
753| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
754| isTouchable | 窗口是否可触。true表示窗口可触,false表示窗口不可触。 |
755
756**返回:**
757
758返回结果代码。
759
760返回OK,表示函数调用成功。
761
762返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
763
764返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
765
766返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
767
768
769### OH_WindowManager_ShowWindow()
770
771```
772WindowManager_ErrorCode OH_WindowManager_ShowWindow (int32_t windowId)
773```
774
775**描述**
776
777显示指定窗口。
778
779**起始版本:** 15
780
781**参数:**
782
783| 名称 | 描述 |
784| -------- | -------- |
785| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。 |
786
787**返回:**
788
789返回结果代码。
790
791返回OK,表示函数调用成功。
792
793返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
794
795返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
796
797返回WINDOW_MANAGER_ERRORCODE_SYSTEM_ABNORMAL,表示窗口管理器服务异常。
798
799
800### OH_WindowManager_Snapshot()
801
802```
803int32_t OH_WindowManager_Snapshot (int32_t windowId, OH_PixelmapNative * pixelMap )
804```
805
806**描述**
807
808获取指定窗口截图。
809
810**起始版本:** 15
811
812**参数:**
813
814| 名称 | 描述 |
815| -------- | -------- |
816| windowId | 创建窗口时的窗口id。默认值为0。该参数为整数。窗口id非法或者窗口已经销毁,不能获取指定窗口截图,需要传入有效的窗口id才能成功获取指定窗口截图。请通过窗口对象调用getWindowProperties接口(ArkTS接口)获取有效的窗口id。 |
817| pixelMap | 返回指向指定窗口的截图的指针,作为出参使用。 |
818
819**返回:**
820
821返回结果代码。
822
823返回OK,表示函数调用成功,在返回pixelMap中的像素图的指针。
824
825返回WINDOW_MANAGER_ERRORCODE_INVALID_PARAM,表示参数错误。
826
827返回WINDOW_MANAGER_ERRORCODE_STATE_ABNORMAL,表示窗口状态异常。
828