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_WINDOW 。 650 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