窗口

2024-01-23 13:22 更新

窗口提供管理窗口的一些基礎(chǔ)能力,包括對當前窗口的創(chuàng)建、銷毀、各屬性設(shè)置,以及對各窗口間的管理調(diào)度。

該模塊提供以下窗口相關(guān)的常用功能:

  • Window:當前窗口實例,窗口管理器管理的基本單元。
  • WindowStage:窗口管理器。管理各個基本窗口單元。
說明

本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。

導入模塊

  1. import window from '@ohos.window';

WindowType7+

窗口類型枚舉。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

說明

TYPE_APP

0

表示應用子窗口。

模型約束: 此接口僅可在FA模型下使用。

TYPE_SYSTEM_ALERT

1

表示系統(tǒng)告警窗口。

TYPE_FLOAT9+

8

表示懸浮窗。

模型約束: 此接口僅可在Stage模型下使用。

需要權(quán)限: ohos.permission.SYSTEM_FLOAT_WINDOW

Configuration9+

創(chuàng)建子窗口時的參數(shù)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

類型

必填

說明

name

string

窗口名字。

windowType

WindowType

窗口類型。

ctx

BaseContext

當前應用上下文信息。不設(shè)置,則默認為空。

FA模型下不需要使用該參數(shù),即可創(chuàng)建子窗口。

Stage模型下需要使用該參數(shù),用于創(chuàng)建系統(tǒng)窗口。

displayId

number

當前物理屏幕id。不設(shè)置,則默認為-1。

parentId

number

父窗口id。不設(shè)置,則默認為-1。

AvoidAreaType7+

窗口內(nèi)容需要規(guī)避區(qū)域的類型枚舉。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

說明

TYPE_SYSTEM

0

表示系統(tǒng)默認區(qū)域。一般包括狀態(tài)欄、導航欄,各設(shè)備系統(tǒng)定義可能不同。

TYPE_CUTOUT

1

表示劉海屏區(qū)域。

TYPE_SYSTEM_GESTURE9+

2

表示手勢區(qū)域。

TYPE_KEYBOARD9+

3

表示軟鍵盤區(qū)域。

SystemBarProperties

狀態(tài)欄、導航欄的屬性。

說明

當前HarmonyOS設(shè)備均不支持此接口,此接口在被setWindowSystemBarProperties()接口調(diào)用時將返回801錯誤碼。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

類型

必填

說明

statusBarColor

string

狀態(tài)欄背景顏色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。默認值:#0x66000000。

isStatusBarLightIcon7+

boolean

狀態(tài)欄圖標是否為高亮狀態(tài)。true表示高亮;false表示不高亮。默認值:false。

statusBarContentColor8+

string

狀態(tài)欄文字顏色。當設(shè)置此屬性后, isStatusBarLightIcon屬性設(shè)置無效。默認值:0xE5FFFFFF。

navigationBarColor

string

導航欄背景顏色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。默認值:#0x66000000。

isNavigationBarLightIcon7+

boolean

導航欄圖標是否為高亮狀態(tài)。true表示高亮;false表示不高亮。默認值:false。

navigationBarContentColor8+

string

導航欄文字顏色。當設(shè)置此屬性后, isNavigationBarLightIcon屬性設(shè)置無效。默認值:#0xE5FFFFFF。

Orientation9+

窗口顯示方向類型枚舉。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

說明

UNSPECIFIED

0

表示未定義方向模式,由系統(tǒng)判定。

PORTRAIT

1

表示豎屏顯示模式。

LANDSCAPE

2

表示橫屏顯示模式。

PORTRAIT_INVERTED

3

表示反向豎屏顯示模式。

LANDSCAPE_INVERTED

4

表示反向橫屏顯示模式。

AUTO_ROTATION

5

表示傳感器自動旋轉(zhuǎn)模式。

AUTO_ROTATION_PORTRAIT

6

表示傳感器自動豎向旋轉(zhuǎn)模式。

AUTO_ROTATION_LANDSCAPE

7

表示傳感器自動橫向旋轉(zhuǎn)模式。

AUTO_ROTATION_RESTRICTED

8

表示受開關(guān)控制的自動旋轉(zhuǎn)模式。

AUTO_ROTATION_PORTRAIT_RESTRICTED

9

表示受開關(guān)控制的自動豎向旋轉(zhuǎn)模式。

AUTO_ROTATION_LANDSCAPE_RESTRICTED

10

表述受開關(guān)控制的自動橫向旋轉(zhuǎn)模式。

LOCKED

11

表示鎖定模式。

Rect7+

窗口矩形區(qū)域。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

類型

可讀

可寫

說明

left

number

矩形區(qū)域的左邊界,單位為px。

top

number

矩形區(qū)域的上邊界,單位為px。

width

number

矩形區(qū)域的寬度,單位為px。

height

number

矩形區(qū)域的高度,單位為px。

AvoidArea7+

窗口內(nèi)容規(guī)避區(qū)域。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

類型

可讀

可寫

說明

visible9+

boolean

規(guī)避區(qū)域是否可見。true表示可見;false表示不可見。

leftRect

Rect

屏幕左側(cè)的矩形區(qū)。

topRect

Rect

屏幕頂部的矩形區(qū)。

rightRect

Rect

屏幕右側(cè)的矩形區(qū)。

bottomRect

Rect

屏幕底部的矩形區(qū)。

Size7+

窗口大小。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

類型

可讀

可寫

說明

width

number

窗口寬度,單位為px。

height

number

窗口高度,單位為px。

WindowProperties

窗口屬性。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

類型

可讀

可寫

說明

windowRect7+

Rect

窗口尺寸。

type7+

WindowType

窗口類型。

isFullScreen

boolean

是否全屏,默認為false。true表示全屏;false表示非全屏。

isLayoutFullScreen7+

boolean

窗口是否為沉浸式,默認為false。true表示沉浸式;false表示非沉浸式。

focusable7+

boolean

窗口是否可聚焦,默認為true。true表示可聚焦;false表示不可聚焦。

touchable7+

boolean

窗口是否可觸摸,默認為true。true表示可觸摸;false表示不可觸摸。

brightness

number

屏幕亮度, 可設(shè)置的亮度范圍為0~1,其中1表示最大亮度值。如果窗口沒有設(shè)置亮度值,表示亮度跟隨系統(tǒng),此時獲取到的亮度值為-1。

dimBehindValue(deprecated)

number

靠后窗口的暗度值,取值范圍為0~1,1表示最暗。

說明: 從API version 9開始廢棄。

- 從 API version 7開始支持。

isKeepScreenOn

boolean

屏幕是否常亮,默認為false。true表示常亮;false表示不常亮。

isPrivacyMode7+

boolean

隱私模式,默認為false。true表示模式開啟;false表示模式關(guān)閉。

isRoundCorner(deprecated)

boolean

窗口是否為圓角。默認為false。true表示圓角;false表示非圓角。

說明: 從API version 9開始廢棄。

- 從 API version 7開始支持。

isTransparent7+

boolean

窗口是否透明。默認為false。true表示透明;false表示不透明。

id9+

number

窗口ID,默認值為0.0。

ColorSpace8+

色域模式。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

說明

DEFAULT

0

默認SRGB色域模式。

WIDE_GAMUT

1

廣色域模式。

window.createWindow9+

createWindow(config: Configuration, callback: AsyncCallback<Window>): void

創(chuàng)建子窗口,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

config

Configuration

創(chuàng)建窗口時的參數(shù)。

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前創(chuàng)建的窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300001

Repeated operation.

1300006

This window context is abnormal.

示例:

  1. let windowClass = null;
  2. let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
  3. try {
  4. window.createWindow(config, (err, data) => {
  5. if (err.code) {
  6. console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
  7. return;
  8. }
  9. windowClass = data;
  10. console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
  11. windowClass.resize(500, 1000);
  12. });
  13. } catch (exception) {
  14. console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
  15. }

window.createWindow9+

createWindow(config: Configuration): Promise<Window>

創(chuàng)建子窗口,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

config

Configuration

創(chuàng)建窗口時的參數(shù)。

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前創(chuàng)建的窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300001

Repeated operation.

1300006

This window context is abnormal.

示例:

  1. let windowClass = null;
  2. let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
  3. try {
  4. let promise = window.createWindow(config);
  5. promise.then((data)=> {
  6. windowClass = data;
  7. console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
  8. }).catch((err)=>{
  9. console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
  10. });
  11. } catch (exception) {
  12. console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
  13. }

window.findWindow9+

findWindow(name: string): Window

查找name所對應的窗口。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

name

string

窗口id。

返回值:

類型

說明

Window

當前查找的窗口對象。

示例:

  1. let windowClass = null;
  2. try {
  3. windowClass = window.findWindow('alertWindow');
  4. } catch (exception) {
  5. console.error('Failed to find the Window. Cause: ' + JSON.stringify(exception));
  6. }

window.getLastWindow9+

getLastWindow(ctx: BaseContext, callback: AsyncCallback<Window>): void

獲取當前應用內(nèi)最上層的子窗口,若無應用子窗口,則返回應用主窗口,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

ctx

BaseContext

當前應用上下文信息。

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前應用內(nèi)最后顯示的窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300006

This window context is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. import window from '@ohos.window';
  3. class myAbility extends UIAbility {
  4. // ...
  5. onWindowStageCreate(windowStage) {
  6. console.log('onWindowStageCreate');
  7. let windowClass = undefined;
  8. try {
  9. window.getLastWindow(this.context, (err, data) => {
  10. if (err.code) {
  11. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
  12. return;
  13. }
  14. windowClass = data;
  15. console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
  16. });
  17. } catch (exception) {
  18. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
  19. }
  20. }
  21. }

window.getLastWindow9+

getLastWindow(ctx: BaseContext): Promise<Window>

獲取當前應用內(nèi)最上層的子窗口,若無應用子窗口,則返回應用主窗口,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

ctx

BaseContext

當前應用上下文信息。

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前應用內(nèi)最后顯示的窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300006

This window context is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. import window from '@ohos.window';
  3. class myAbility extends UIAbility {
  4. // ...
  5. onWindowStageCreate(windowStage) {
  6. console.log('onWindowStageCreate');
  7. let windowClass = undefined;
  8. try {
  9. let promise = window.getLastWindow(this.context);
  10. promise.then((data) => {
  11. windowClass = data;
  12. console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
  13. }).catch((err) => {
  14. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
  15. });
  16. } catch (exception) {
  17. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
  18. }
  19. };
  20. }

window.create(deprecated)

create(id: string, type: WindowType, callback: AsyncCallback<Window>): void

創(chuàng)建子窗口,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用createWindow()。

模型約束: 此接口僅可在FA模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

id

string

窗口id。

type

WindowType

窗口類型。

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前創(chuàng)建的子窗口對象。

示例:

  1. let windowClass = null;
  2. window.create('first', window.WindowType.TYPE_APP,(err,data) => {
  3. if(err.code){
  4. console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. windowClass = data;
  8. console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
  9. });

window.create(deprecated)

create(id: string, type: WindowType): Promise<Window>

創(chuàng)建子窗口,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用createWindow()。

模型約束: 此接口僅可在FA模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

id

string

窗口id。

type

WindowType

窗口類型。

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前創(chuàng)建的子窗口對象。

示例:

  1. let windowClass = null;
  2. let promise = window.create('first', window.WindowType.TYPE_APP);
  3. promise.then((data)=> {
  4. windowClass = data;
  5. console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
  6. }).catch((err)=>{
  7. console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
  8. });

window.create(deprecated)

create(ctx: BaseContext, id: string, type: WindowType, callback: AsyncCallback<Window>): void

創(chuàng)建子窗口,使用callback異步回調(diào)。

當前此接口僅可在FA模型下使用。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用createWindow()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

ctx

BaseContext

當前應用上下文信息。

id

string

窗口id。

type

WindowType

窗口類型。

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前創(chuàng)建的子窗口對象。

示例:

  1. let windowClass = null;
  2. window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
  3. if (err.code) {
  4. console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. windowClass = data;
  8. console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
  9. windowClass.resetSize(500, 1000);
  10. });

window.create(deprecated)

create(ctx: BaseContext, id: string, type: WindowType): Promise<Window>

創(chuàng)建子窗口,使用Promise異步回調(diào)。

當前此接口僅可在FA模型下使用。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用createWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

ctx

BaseContext

當前應用上下文信息。

id

string

窗口id。

type

WindowType

窗口類型。

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前創(chuàng)建的子窗口對象。

示例:

  1. let windowClass = null;
  2. let promise = window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT);
  3. promise.then((data)=> {
  4. windowClass = data;
  5. console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
  6. }).catch((err)=>{
  7. console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
  8. });

window.find(deprecated)

find(id: string, callback: AsyncCallback<Window>): void

查找id所對應的窗口,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用findWindow()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

id

string

窗口id。

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前查找到的窗口對象。

示例:

  1. let windowClass = null;
  2. window.find('alertWindow', (err, data) => {
  3. if (err.code) {
  4. console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. windowClass = data;
  8. console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
  9. });

window.find(deprecated)

find(id: string): Promise<Window>

查找id所對應的窗口,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用findWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

id

string

窗口id。

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前查找的窗口對象。

示例:

  1. let windowClass = null;
  2. let promise = window.find('alertWindow');
  3. promise.then((data)=> {
  4. windowClass = data;
  5. console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
  6. }).catch((err)=>{
  7. console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
  8. });

window.getTopWindow(deprecated)

getTopWindow(callback: AsyncCallback<Window>): void

獲取當前應用內(nèi)最后顯示的窗口,使用callback異步回調(diào)。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用getLastWindow()。

模型約束: 此接口僅可在FA模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前應用內(nèi)最后顯示的窗口對象。

示例:

  1. let windowClass = null;
  2. window.getTopWindow((err, data) => {
  3. if (err.code) {
  4. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. windowClass = data;
  8. console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
  9. });

window.getTopWindow(deprecated)

getTopWindow(): Promise<Window>

獲取當前應用內(nèi)最后顯示的窗口,使用Promise異步回調(diào)。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用getLastWindow()。

模型約束: 此接口僅可在FA模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前應用內(nèi)最后顯示的窗口對象。

示例:

  1. let windowClass = null;
  2. let promise = window.getTopWindow();
  3. promise.then((data)=> {
  4. windowClass = data;
  5. console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
  6. }).catch((err)=>{
  7. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
  8. });

window.getTopWindow(deprecated)

getTopWindow(ctx: BaseContext, callback: AsyncCallback<Window>): void

獲取當前應用內(nèi)最后顯示的窗口,使用callback異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用getLastWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

ctx

BaseContext

當前應用上下文信息。

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前應用內(nèi)最后顯示的窗口對象。

示例:

  1. let windowClass = null;
  2. window.getTopWindow(this.context, (err, data) => {
  3. if (err.code) {
  4. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. windowClass = data;
  8. console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
  9. });

window.getTopWindow(deprecated)

getTopWindow(ctx: BaseContext): Promise<Window>

獲取當前應用內(nèi)最后顯示的窗口,使用Promise異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用getLastWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

ctx

BaseContext

當前應用上下文信息。

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前應用內(nèi)最后顯示的窗口對象。

示例:

  1. let windowClass = null;
  2. let promise = window.getTopWindow(this.context);
  3. promise.then((data)=> {
  4. windowClass = data;
  5. console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
  6. }).catch((err)=>{
  7. console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
  8. });

Window

當前窗口實例,窗口管理器管理的基本單元。

下列API示例中都需先使用getLastWindow()、createWindow()findWindow()中的任一方法獲取到Window實例,再通過此實例調(diào)用對應方法。

showWindow9+

showWindow(callback: AsyncCallback<void>): void

顯示當前窗口,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. windowClass.showWindow((err) => {
  2. if (err.code) {
  3. console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in showing the window.');
  7. });

showWindow9+

showWindow(): Promise<void>

顯示當前窗口,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let promise = windowClass.showWindow();
  2. promise.then(()=> {
  3. console.info('Succeeded in showing the window.');
  4. }).catch((err)=>{
  5. console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
  6. });

destroyWindow9+

destroyWindow(callback: AsyncCallback<void>): void

銷毀當前窗口,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. windowClass.destroyWindow((err) => {
  2. if (err.code) {
  3. console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in destroying the window.');
  7. });

destroyWindow9+

destroyWindow(): Promise<void>

銷毀當前窗口,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let promise = windowClass.destroyWindow();
  2. promise.then(()=> {
  3. console.info('Succeeded in destroying the window.');
  4. }).catch((err)=>{
  5. console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
  6. });

moveWindowTo9+

moveWindowTo(x: number, y: number, callback: AsyncCallback<void>): void

移動窗口位置,使用callback異步回調(diào)。

全屏模式窗口不支持該操作。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

x

number

窗口在x軸方向移動的值,值為正表示右移,單位為px。

y

number

窗口在y軸方向移動的值,值為正表示下移,單位為px。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. try {
  2. windowClass.moveWindowTo(300, 300, (err)=>{
  3. if (err.code) {
  4. console.error('Failed to move the window. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in moving the window.');
  8. });
  9. } catch (exception) {
  10. console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
  11. }

moveWindowTo9+

moveWindowTo(x: number, y: number): Promise<void>

移動窗口位置,使用Promise異步回調(diào)。

全屏模式窗口不支持該操作。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

x

number

窗口在x軸方向移動的值,值為正表示右移,單位為px。

y

number

窗口在y軸方向移動的值,值為正表示下移,單位為px。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. try {
  2. let promise = windowClass.moveWindowTo(300, 300);
  3. promise.then(()=> {
  4. console.info('Succeeded in moving the window.');
  5. }).catch((err)=>{
  6. console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
  7. });
  8. } catch (exception) {
  9. console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
  10. }

resize9+

resize(width: number, height: number, callback: AsyncCallback<void>): void

改變當前窗口大小,使用callback異步回調(diào)。

應用主窗口與子窗口存在大小限制,寬度范圍:[320, 2560],高度范圍:[240, 2560],單位為vp。

系統(tǒng)窗口存在大小限制,寬度范圍:[0, 2560],高度范圍:[0, 2560],單位為vp。

設(shè)置的寬度與高度受到此約束限制,規(guī)則: 若所設(shè)置的窗口寬/高尺寸小于窗口最小寬/高限值,則窗口最小寬/高限值生效; 若所設(shè)置的窗口寬/高尺寸大于窗口最大寬/高限值,則窗口最大寬/高限值生效。

全屏模式窗口不支持該操作。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

width

number

目標窗口的寬度,單位為px。

height

number

目標窗口的高度,單位為px。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. try {
  2. windowClass.resize(500, 1000, (err) => {
  3. if (err.code) {
  4. console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in changing the window size.');
  8. });
  9. } catch (exception) {
  10. console.error('Failed to change the window size. Cause:' + JSON.stringify(exception));
  11. }

resize9+

resize(width: number, height: number): Promise<void>

改變當前窗口大小,使用Promise異步回調(diào)。

應用主窗口與子窗口存在大小限制,寬度范圍:[320, 2560],高度范圍:[240, 2560],單位為vp。

系統(tǒng)窗口存在大小限制,寬度范圍:[0, 2560],高度范圍:[0, 2560],單位為vp。

設(shè)置的寬度與高度受到此約束限制,規(guī)則: 若所設(shè)置的窗口寬/高尺寸小于窗口最小寬/高限值,則窗口最小寬/高限值生效; 若所設(shè)置的窗口寬/高尺寸大于窗口最大寬/高限值,則窗口最大寬/高限值生效。

全屏模式窗口不支持該操作。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

width

number

目標窗口的寬度,單位為px。

height

number

目標窗口的高度,單位為px。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. try {
  2. let promise = windowClass.resize(500, 1000);
  3. promise.then(()=> {
  4. console.info('Succeeded in changing the window size.');
  5. }).catch((err)=>{
  6. console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
  7. });
  8. } catch (exception) {
  9. console.error('Failed to change the window size. Cause: ' + JSON.stringify(exception));
  10. }

getWindowProperties9+

getWindowProperties(): WindowProperties

獲取當前窗口的屬性,返回WindowProperties。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

WindowProperties

當前窗口屬性。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. try {
  2. let properties = windowClass.getWindowProperties();
  3. } catch (exception) {
  4. console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(exception));
  5. }

getWindowAvoidArea9+

getWindowAvoidArea(type: AvoidAreaType): AvoidArea

獲取窗口內(nèi)容規(guī)避的區(qū)域;如系統(tǒng)欄區(qū)域、劉海屏區(qū)域、手勢區(qū)域、軟鍵盤區(qū)域等與窗口內(nèi)容重疊時,需要窗口內(nèi)容避讓的區(qū)域。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

AvoidAreaType

表示規(guī)避區(qū)類型。

返回值:

類型

說明

AvoidArea

窗口內(nèi)容規(guī)避區(qū)域。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let type = window.AvoidAreaType.TYPE_SYSTEM;
  2. try {
  3. let avoidArea = windowClass.getWindowAvoidArea(type);
  4. } catch (exception) {
  5. console.error('Failed to obtain the area. Cause:' + JSON.stringify(exception));
  6. }

setWindowLayoutFullScreen9+

setWindowLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void

設(shè)置窗口的布局是否為全屏顯示狀態(tài),使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isLayoutFullScreen

boolean

窗口的布局是否為全屏顯示狀態(tài)(該全屏狀態(tài)下狀態(tài)欄、導航欄仍然顯示)。true表示全屏顯示;false表示非全屏顯示。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isLayoutFullScreen= true;
  2. try {
  3. windowClass.setWindowLayoutFullScreen(isLayoutFullScreen, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting the window layout to full-screen mode.');
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
  12. }

setWindowLayoutFullScreen9+

setWindowLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void>

設(shè)置窗口的布局是否為全屏顯示狀態(tài),使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isLayoutFullScreen

boolean

窗口的布局是否為全屏顯示狀態(tài)(該全屏狀態(tài)下狀態(tài)欄、導航欄仍然顯示)。true表示全屏顯示;false表示非全屏顯示。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isLayoutFullScreen = true;
  2. try {
  3. let promise = windowClass.setWindowLayoutFullScreen(isLayoutFullScreen);
  4. promise.then(()=> {
  5. console.info('Succeeded in setting the window layout to full-screen mode.');
  6. }).catch((err)=>{
  7. console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
  11. }

setWindowSystemBarEnable9+

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

設(shè)置導航欄、狀態(tài)欄的可見模式,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

names

Array<'status'|'navigation'>

設(shè)置狀態(tài)欄和導航欄是否顯示。

例如,需全部顯示,該參數(shù)設(shè)置為['status', 'navigation'];不設(shè)置,則默認不顯示。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. // 此處以不顯示導航欄、狀態(tài)欄為例
  2. let names = [];
  3. try {
  4. windowClass.setWindowSystemBarEnable(names, (err) => {
  5. if (err.code) {
  6. console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
  7. return;
  8. }
  9. console.info('Succeeded in setting the system bar to be invisible.');
  10. });
  11. } catch (exception) {
  12. console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
  13. }

setWindowSystemBarEnable9+

setWindowSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void>

設(shè)置導航欄、狀態(tài)欄的可見模式,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

names

Array<'status'|'navigation'>

設(shè)置狀態(tài)欄和導航欄是否顯示。

例如,需全部顯示,該參數(shù)設(shè)置為['status', 'navigation'];不設(shè)置,則默認不顯示。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. // 此處以不顯示導航欄、狀態(tài)欄為例
  2. let names = [];
  3. try {
  4. let promise = windowClass.setWindowSystemBarEnable(names);
  5. promise.then(()=> {
  6. console.info('Succeeded in setting the system bar to be invisible.');
  7. }).catch((err)=>{
  8. console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
  12. }

setWindowSystemBarProperties9+

setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void

設(shè)置窗口內(nèi)導航欄、狀態(tài)欄的屬性,使用callback異步回調(diào)。

說明

當前HarmonyOS設(shè)備均不支持此接口,應用調(diào)用此接口將返回801錯誤碼。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

SystemBarProperties

SystemBarProperties

導航欄、狀態(tài)欄的屬性。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let SystemBarProperties = {
  2. statusBarColor: '#ff00ff',
  3. navigationBarColor: '#00ff00',
  4. //以下兩個屬性從API Version8開始支持
  5. statusBarContentColor:'#ffffff',
  6. navigationBarContentColor:'#00ffff'
  7. };
  8. try {
  9. windowClass.setWindowSystemBarProperties(SystemBarProperties, (err) => {
  10. if (err.code) {
  11. console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
  12. return;
  13. }
  14. console.info('Succeeded in setting the system bar properties.');
  15. });
  16. } catch (exception) {
  17. console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
  18. }

setWindowSystemBarProperties9+

setWindowSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void>

設(shè)置窗口內(nèi)導航欄、狀態(tài)欄的屬性,使用Promise異步回調(diào)。

說明

當前HarmonyOS設(shè)備均不支持此接口,應用調(diào)用此接口將返回801錯誤碼。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

SystemBarProperties

SystemBarProperties

導航欄、狀態(tài)欄的屬性。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let SystemBarProperties = {
  2. statusBarColor: '#ff00ff',
  3. navigationBarColor: '#00ff00',
  4. //以下兩個屬性從API Version8開始支持
  5. statusBarContentColor:'#ffffff',
  6. navigationBarContentColor:'#00ffff'
  7. };
  8. try {
  9. let promise = windowClass.setWindowSystemBarProperties(SystemBarProperties);
  10. promise.then(()=> {
  11. console.info('Succeeded in setting the system bar properties.');
  12. }).catch((err)=>{
  13. console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
  14. });
  15. } catch (exception) {
  16. console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
  17. }

setPreferredOrientation9+

setPreferredOrientation(orientation: Orientation, callback: AsyncCallback<void>): void

設(shè)置窗口的顯示方向?qū)傩裕褂胏allback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

Orientation

Orientation

窗口顯示方向的屬性。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let orientation = window.Orientation.AUTO_ROTATION;
  2. try {
  3. windowClass.setPreferredOrientation(orientation, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting window orientation.');
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
  12. }

setPreferredOrientation9+

setPreferredOrientation(orientation: Orientation): Promise<void>

設(shè)置窗口的顯示方向?qū)傩裕褂肞romise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

Orientation

Orientation

窗口顯示方向的屬性。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let orientation = window.Orientation.AUTO_ROTATION;
  2. try {
  3. let promise = windowClass.setPreferredOrientation(orientation);
  4. promise.then(()=> {
  5. console.info('Succeeded in setting the window orientation.');
  6. }).catch((err)=>{
  7. console.error('Failed to set the window orientation. Cause: ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
  11. }

setUIContent9+

setUIContent(path: string, callback: AsyncCallback<void>): void

為當前窗口加載具體頁面內(nèi)容,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,Stage模型下該路徑需添加到工程的main_pages.json文件中,F(xiàn)A模型下該路徑需添加到工程的config.json文件中。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. try {
  2. windowClass.setUIContent('pages/page2/page2', (err) => {
  3. if (err.code) {
  4. console.error('Failed to load the content. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in loading the content.');
  8. });
  9. } catch (exception) {
  10. console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
  11. }

setUIContent9+

setUIContent(path: string): Promise<void>

為當前窗口加載具體頁面內(nèi)容,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,Stage模型下該路徑需添加到工程的main_pages.json文件中,F(xiàn)A模型下該路徑需添加到工程的config.json文件中。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. try {
  2. let promise = windowClass.setUIContent('pages/page2/page2');
  3. promise.then(()=> {
  4. console.info('Succeeded in loading the content.');
  5. }).catch((err)=>{
  6. console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
  7. });
  8. } catch (exception) {
  9. console.error('Failed to load the content. Cause: ' + JSON.stringify(exception));
  10. }

loadContent9+

loadContent(path: string, storage: LocalStorage, callback: AsyncCallback<void>): void

為當前窗口加載與LocalStorage相關(guān)聯(lián)的具體頁面內(nèi)容,使用callback異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,該路徑需添加到工程的main_pages.json文件中。

storage

LocalStorage

存儲單元,為應用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let storage = new LocalStorage();
  2. storage.setOrCreate('storageSimpleProp',121);
  3. console.log('onWindowStageCreate');
  4. try {
  5. windowClass.loadContent('pages/page2', storage, (err) => {
  6. if (err.code) {
  7. console.error('Failed to load the content. Cause:' + JSON.stringify(err));
  8. return;
  9. }
  10. console.info('Succeeded in loading the content.');
  11. });
  12. } catch (exception) {
  13. console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
  14. }

loadContent9+

loadContent(path: string, storage: LocalStorage): Promise<void>

為當前窗口加載與LocalStorage相關(guān)聯(lián)的具體頁面內(nèi)容,使用Promise異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,該路徑需添加到工程的main_pages.json文件中。

storage

LocalStorage

存儲單元,為應用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let storage = new LocalStorage();
  2. storage.setOrCreate('storageSimpleProp',121);
  3. console.log('onWindowStageCreate');
  4. try {
  5. let promise = windowClass.loadContent('pages/page2', storage);
  6. promise.then(() => {
  7. console.info('Succeeded in loading the content.');
  8. }).catch((err) => {
  9. console.error('Failed to load the content. Cause:' + JSON.stringify(err));
  10. });
  11. } catch (exception) {
  12. console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
  13. }

isWindowShowing9+

isWindowShowing(): boolean

判斷當前窗口是否已顯示。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

boolean

當前窗口是否已顯示。true表示當前窗口已顯示,false則表示當前窗口未顯示。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. try {
  2. let data = windowClass.isWindowShowing();
  3. console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
  4. } catch (exception) {
  5. console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(exception));
  6. }

on('windowSizeChange')7+

on(type: 'windowSizeChange', callback: Callback<Size>): void

開啟窗口尺寸變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'windowSizeChange',即窗口尺寸變化事件。

callback

Callback<Size>

回調(diào)函數(shù)。返回當前的窗口尺寸。

示例:

  1. try {
  2. windowClass.on('windowSizeChange', (data) => {
  3. console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
  4. });
  5. } catch (exception) {
  6. console.error('Failed to enable the listener for window size changes. Cause: ' + JSON.stringify(exception));
  7. }

off('windowSizeChange')7+

off(type: 'windowSizeChange', callback?: Callback<Size>): void

關(guān)閉窗口尺寸變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'windowSizeChange',即窗口尺寸變化事件。

callback

Callback<Size>

回調(diào)函數(shù)。返回當前的窗口尺寸。

示例:

  1. try {
  2. windowClass.off('windowSizeChange');
  3. } catch (exception) {
  4. console.error('Failed to disable the listener for window size changes. Cause: ' + JSON.stringify(exception));
  5. }

on('avoidAreaChange')9+

on(type: 'avoidAreaChange', callback: Callback<{type: AvoidAreaType, area: AvoidArea}>): void

開啟系統(tǒng)規(guī)避區(qū)變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'avoidAreaChange',即系統(tǒng)規(guī)避區(qū)變化事件。

callback

Callback<{type: AvoidAreaType, area: AvoidArea}>

回調(diào)函數(shù)。返回當前規(guī)避區(qū)以及規(guī)避區(qū)類型。

示例:

  1. try {
  2. windowClass.on('avoidAreaChange', (data) => {
  3. console.info('Succeeded in enabling the listener for system avoid area changes. type:' +
  4. JSON.stringify(data.type) + ', area: ' + JSON.stringify(data.area));
  5. });
  6. } catch (exception) {
  7. console.error('Failed to enable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
  8. }

off('avoidAreaChange')9+

off(type: 'avoidAreaChange', callback?: Callback<{type: AvoidAreaType, area: AvoidArea}>): void

關(guān)閉系統(tǒng)規(guī)避區(qū)變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'avoidAreaChange',即系統(tǒng)規(guī)避區(qū)變化事件。

callback

Callback<{type: AvoidAreaType, area: AvoidArea}>

回調(diào)函數(shù)。返回當前規(guī)避區(qū)以及規(guī)避區(qū)類型。

示例:

  1. try {
  2. windowClass.off('avoidAreaChange');
  3. } catch (exception) {
  4. console.error('Failed to disable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
  5. }

on('keyboardHeightChange')7+

on(type: 'keyboardHeightChange', callback: Callback<number>): void

開啟鍵盤高度變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'keyboardHeightChange',即鍵盤高度變化事件。

callback

Callback<number>

回調(diào)函數(shù)。返回當前的鍵盤高度。

示例:

  1. try {
  2. windowClass.on('keyboardHeightChange', (data) => {
  3. console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
  4. });
  5. } catch (exception) {
  6. console.error('Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
  7. }

off('keyboardHeightChange')7+

off(type: 'keyboardHeightChange', callback?: Callback<number>): void

關(guān)閉鍵盤高度變化的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'keyboardHeightChange',即鍵盤高度變化事件。

callback

Callback<number>

回調(diào)函數(shù)。返回當前的鍵盤高度。

示例:

  1. try {
  2. windowClass.off('keyboardHeightChange');
  3. } catch (exception) {
  4. console.error('Failed to disable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
  5. }

on('screenshot')9+

on(type: 'screenshot', callback: Callback<void>): void

開啟截屏事件的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'screenshot',即截屏事件。

callback

Callback<void>

回調(diào)函數(shù)。發(fā)生截屏事件時的回調(diào)。

示例:

  1. try {
  2. windowClass.on('screenshot', () => {
  3. console.info('screenshot happened');
  4. });
  5. } catch (exception) {
  6. console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
  7. }

off('screenshot')9+

off(type: 'screenshot', callback?: Callback<void>): void

關(guān)閉截屏事件的監(jiān)聽。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'screenshot',即截屏事件。

callback

Callback<void>

回調(diào)函數(shù)。發(fā)生截屏事件時的回調(diào)。

示例:

  1. let callback = () => {
  2. console.info('screenshot happened');
  3. };
  4. try {
  5. windowClass.on('screenshot', callback);
  6. } catch (exception) {
  7. console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
  8. }
  9. try {
  10. windowClass.off('screenshot', callback);
  11. // 如果通過on開啟多個callback進行監(jiān)聽,同時關(guān)閉所有監(jiān)聽:
  12. windowClass.off('screenshot');
  13. } catch (exception) {
  14. console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
  15. }

isWindowSupportWideGamut9+

isWindowSupportWideGamut(callback: AsyncCallback<boolean>): void

判斷當前窗口是否支持廣色域模式,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

回調(diào)函數(shù)。返回true表示當前窗口支持廣色域模式,返回false表示當前窗口不支持廣色域模式。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. windowClass.isWindowSupportWideGamut((err, data) => {
  2. if (err.code) {
  3. console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
  7. });

isWindowSupportWideGamut9+

isWindowSupportWideGamut(): Promise<boolean>

判斷當前窗口是否支持廣色域模式,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示當前窗口支持廣色域模式,返回false表示當前窗口不支持廣色域模式。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let promise = windowClass.isWindowSupportWideGamut();
  2. promise.then((data)=> {
  3. console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
  4. }).catch((err)=>{
  5. console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
  6. });

setWindowColorSpace9+

setWindowColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void

設(shè)置當前窗口為廣色域模式或默認色域模式,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

colorSpace

ColorSpace

設(shè)置色域模式。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. try {
  2. windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting window colorspace.');
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
  11. }

setWindowColorSpace9+

setWindowColorSpace(colorSpace:ColorSpace): Promise<void>

設(shè)置當前窗口為廣色域模式或默認色域模式,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

colorSpace

ColorSpace

設(shè)置色域模式。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. try {
  2. let promise = windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT);
  3. promise.then(()=> {
  4. console.info('Succeeded in setting window colorspace.');
  5. }).catch((err)=>{
  6. console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
  7. });
  8. } catch (exception) {
  9. console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
  10. }

getWindowColorSpace9+

getWindowColorSpace(): ColorSpace

獲取當前窗口色域模式。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

ColorSpace

當前色域模式。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let colorSpace = windowClass.getWindowColorSpace();

setWindowBackgroundColor9+

setWindowBackgroundColor(color: string): void

設(shè)置窗口的背景色。Stage模型下,該接口需要在loadContentsetUIContent之后使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

color

string

需要設(shè)置的背景色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let color = '#00ff33';
  2. try {
  3. windowClass.setWindowBackgroundColor(color);
  4. } catch (exception) {
  5. console.error('Failed to set the background color. Cause: ' + JSON.stringify(exception));
  6. }

setWindowBrightness9+

setWindowBrightness(brightness: number, callback: AsyncCallback<void>): void

設(shè)置屏幕亮度值,使用callback異步回調(diào)。

當前屏幕亮度規(guī)格:窗口設(shè)置屏幕亮度生效時,控制中心不可以調(diào)整系統(tǒng)屏幕亮度,窗口恢復默認系統(tǒng)亮度之后,控制中心可以調(diào)整系統(tǒng)屏幕亮度。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

brightness

number

屏幕亮度值,值為0-1之間。1表示最亮。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let brightness = 1;
  2. try {
  3. windowClass.setWindowBrightness(brightness, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting the brightness.');
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
  12. }

setWindowBrightness9+

setWindowBrightness(brightness: number): Promise<void>

設(shè)置屏幕亮度值,使用Promise異步回調(diào)。

當前屏幕亮度規(guī)格:窗口設(shè)置屏幕亮度生效時,控制中心不可以調(diào)整系統(tǒng)屏幕亮度,窗口恢復默認系統(tǒng)亮度之后,控制中心可以調(diào)整系統(tǒng)屏幕亮度。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

brightness

number

屏幕亮度值,值為0-1之間。1表示最亮。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let brightness = 1;
  2. try {
  3. let promise = windowClass.setWindowBrightness(brightness);
  4. promise.then(()=> {
  5. console.info('Succeeded in setting the brightness.');
  6. }).catch((err)=>{
  7. console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
  11. }

setWindowFocusable9+

setWindowFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void

設(shè)置點擊時是否支持切換焦點窗口,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isFocusable

boolean

點擊時是否支持切換焦點窗口。true表示支持;false表示不支持。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isFocusable = true;
  2. try {
  3. windowClass.setWindowFocusable(isFocusable, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting the window to be focusable.');
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
  12. }

setWindowFocusable9+

setWindowFocusable(isFocusable: boolean): Promise<void>

設(shè)置點擊時是否支持切換焦點窗口,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isFocusable

boolean

點擊時是否支持切換焦點窗口。true表示支持;false表示不支持。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isFocusable = true;
  2. try {
  3. let promise = windowClass.setWindowFocusable(isFocusable);
  4. promise.then(()=> {
  5. console.info('Succeeded in setting the window to be focusable.');
  6. }).catch((err)=>{
  7. console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
  11. }

setWindowKeepScreenOn9+

setWindowKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void

設(shè)置屏幕是否為常亮狀態(tài),使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isKeepScreenOn

boolean

設(shè)置屏幕是否為常亮狀態(tài)。true表示常亮;false表示不常亮。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isKeepScreenOn = true;
  2. try {
  3. windowClass.setWindowKeepScreenOn(isKeepScreenOn, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting the screen to be always on.');
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
  12. }

setWindowKeepScreenOn9+

setWindowKeepScreenOn(isKeepScreenOn: boolean): Promise<void>

設(shè)置屏幕是否為常亮狀態(tài),使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isKeepScreenOn

boolean

設(shè)置屏幕是否為常亮狀態(tài)。true表示常亮;false表示不常亮。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isKeepScreenOn = true;
  2. try {
  3. let promise = windowClass.setWindowKeepScreenOn(isKeepScreenOn);
  4. promise.then(() => {
  5. console.info('Succeeded in setting the screen to be always on.');
  6. }).catch((err)=>{
  7. console.info('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
  11. }

setWindowPrivacyMode9+

setWindowPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void

設(shè)置窗口是否為隱私模式,使用callback異步回調(diào)。設(shè)置為隱私模式的窗口,窗口內(nèi)容將無法被截屏或錄屏。此接口可用于禁止截屏/錄屏的場景。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

需要權(quán)限: ohos.permission.PRIVACY_WINDOW

參數(shù):

參數(shù)名

類型

必填

說明

isPrivacyMode

boolean

窗口是否為隱私模式。true表示模式開啟;false表示模式關(guān)閉。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let isPrivacyMode = true;
  2. try {
  3. windowClass.setWindowPrivacyMode(isPrivacyMode, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting the window to privacy mode.');
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
  12. }

setWindowPrivacyMode9+

setWindowPrivacyMode(isPrivacyMode: boolean): Promise<void>

設(shè)置窗口是否為隱私模式,使用Promise異步回調(diào)。設(shè)置為隱私模式的窗口,窗口內(nèi)容將無法被截屏或錄屏。此接口可用于禁止截屏/錄屏的場景。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

需要權(quán)限: ohos.permission.PRIVACY_WINDOW

參數(shù):

參數(shù)名

類型

必填

說明

isPrivacyMode

boolean

窗口是否為隱私模式。true表示模式開啟;false表示模式關(guān)閉。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let isPrivacyMode = true;
  2. try {
  3. let promise = windowClass.setWindowPrivacyMode(isPrivacyMode);
  4. promise.then(()=> {
  5. console.info('Succeeded in setting the window to privacy mode.');
  6. }).catch((err)=>{
  7. console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
  11. }

setWindowTouchable9+

setWindowTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void

設(shè)置窗口是否為可觸狀態(tài),使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isTouchable

boolean

窗口是否為可觸狀態(tài)。true表示可觸;false表示不可觸。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isTouchable = true;
  2. try {
  3. windowClass.setWindowTouchable(isTouchable, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting the window to be touchable.');
  9. });
  10. } catch (exception) {
  11. console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
  12. }

setWindowTouchable9+

setWindowTouchable(isTouchable: boolean): Promise<void>

設(shè)置窗口是否為可觸狀態(tài),使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isTouchable

boolean

窗口是否為可觸狀態(tài)。true表示可觸;false表示不可觸。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

  1. let isTouchable = true;
  2. try {
  3. let promise = windowClass.setWindowTouchable(isTouchable);
  4. promise.then(()=> {
  5. console.info('Succeeded in setting the window to be touchable.');
  6. }).catch((err)=>{
  7. console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
  11. }

snapshot9+

snapshot(callback: AsyncCallback<image.PixelMap>): void

獲取窗口截圖,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<image.PixelMap>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. windowClass.snapshot((err, pixelMap) => {
  2. if (err.code) {
  3. console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
  7. pixelMap.release(); // PixelMap使用完后及時釋放內(nèi)存
  8. });

snapshot9+

snapshot(): Promise<image.PixelMap>

獲取窗口截圖,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<image.PixelMap>

Promise對象。返回當前窗口截圖。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

示例:

  1. let promise = windowClass.snapshot();
  2. promise.then((pixelMap)=> {
  3. console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
  4. pixelMap.release(); // PixelMap使用完后及時釋放內(nèi)存
  5. }).catch((err)=>{
  6. console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
  7. });

show(deprecated)

show(callback: AsyncCallback<void>): void

顯示當前窗口,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用showWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.show((err) => {
  2. if (err.code) {
  3. console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in showing the window.');
  7. });

show(deprecated)

show(): Promise<void>

顯示當前窗口,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用showWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.show();
  2. promise.then(()=> {
  3. console.info('Succeeded in showing the window.');
  4. }).catch((err)=>{
  5. console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
  6. });

destroy(deprecated)

destroy(callback: AsyncCallback<void>): void

銷毀當前窗口,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用destroyWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.destroy((err) => {
  2. if (err.code) {
  3. console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in destroying the window.');
  7. });

destroy(deprecated)

destroy(): Promise<void>

銷毀當前窗口,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用destroyWindow()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.destroy();
  2. promise.then(()=> {
  3. console.info('Succeeded in destroying the window.');
  4. }).catch((err)=>{
  5. console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
  6. });

moveTo(deprecated)

moveTo(x: number, y: number, callback: AsyncCallback<void>): void

移動窗口位置,使用callback異步回調(diào)。

全屏模式窗口不支持該操作。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用moveWindowTo()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

x

number

窗口在x軸方向移動的值,值為正表示右移,單位為px。

y

number

窗口在y軸方向移動的值,值為正表示下移,單位為px。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.moveTo(300, 300, (err)=>{
  2. if (err.code) {
  3. console.error('Failed to move the window. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in moving the window.');
  7. });

moveTo(deprecated)

moveTo(x: number, y: number): Promise<void>

移動窗口位置,使用Promise異步回調(diào)。

全屏模式窗口不支持該操作。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用moveWindowTo()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

x

number

窗口在x軸方向移動的值,值為正表示右移,單位為px。

y

number

窗口在y軸方向移動的值,值為正表示下移,單位為px。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.moveTo(300, 300);
  2. promise.then(()=> {
  3. console.info('Succeeded in moving the window.');
  4. }).catch((err)=>{
  5. console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
  6. });

resetSize(deprecated)

resetSize(width: number, height: number, callback: AsyncCallback<void>): void

改變當前窗口大小,使用callback異步回調(diào)。

應用主窗口與子窗口存在大小限制,寬度范圍:[320, 2560],高度范圍:[240, 2560],單位為vp。

系統(tǒng)窗口存在大小限制,寬度范圍:[0, 2560],高度范圍:[0, 2560],單位為vp。

設(shè)置的寬度與高度受到此約束限制,規(guī)則: 若所設(shè)置的窗口寬/高尺寸小于窗口最小寬/高限值,則窗口最小寬/高限值生效; 若所設(shè)置的窗口寬/高尺寸大于窗口最大寬/高限值,則窗口最大寬/高限值生效。

全屏模式窗口不支持該操作。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用resize()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

width

number

目標窗口的寬度,單位為px。

height

number

目標窗口的高度,單位為px。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.resetSize(500, 1000, (err) => {
  2. if (err.code) {
  3. console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in changing the window size.');
  7. });

resetSize(deprecated)

resetSize(width: number, height: number): Promise<void>

改變當前窗口大小,使用Promise異步回調(diào)。

應用主窗口與子窗口存在大小限制,寬度范圍:[320, 2560],高度范圍:[240, 2560],單位為vp。

系統(tǒng)窗口存在大小限制,寬度范圍:[0, 2560],高度范圍:[0, 2560],單位為vp。

設(shè)置的寬度與高度受到此約束限制,規(guī)則: 若所設(shè)置的窗口寬/高尺寸小于窗口最小寬/高限值,則窗口最小寬/高限值生效; 若所設(shè)置的窗口寬/高尺寸大于窗口最大寬/高限值,則窗口最大寬/高限值生效。

全屏模式窗口不支持該操作。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用resize()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

width

number

目標窗口的寬度,單位為px。

height

number

目標窗口的高度,單位為px。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.resetSize(500, 1000);
  2. promise.then(()=> {
  3. console.info('Succeeded in changing the window size.');
  4. }).catch((err)=>{
  5. console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
  6. });

getProperties(deprecated)

getProperties(callback: AsyncCallback<WindowProperties>): void

獲取當前窗口的屬性,使用callback異步回調(diào),返回WindowProperties。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用getWindowProperties()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<WindowProperties>

回調(diào)函數(shù)。返回當前窗口屬性。

示例:

  1. windowClass.getProperties((err, data) => {
  2. if (err.code) {
  3. console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
  7. });

getProperties(deprecated)

getProperties(): Promise<WindowProperties>

獲取當前窗口的屬性,使用Promise異步回調(diào),返回WindowProperties。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用getWindowProperties()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<WindowProperties>

Promise對象。返回當前窗口屬性。

示例:

  1. let promise = windowClass.getProperties();
  2. promise.then((data)=> {
  3. console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
  4. }).catch((err)=>{
  5. console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
  6. });

getAvoidArea(deprecated)

getAvoidArea(type: AvoidAreaType, callback: AsyncCallback<AvoidArea>): void

獲取窗口內(nèi)容規(guī)避的區(qū)域;如系統(tǒng)欄區(qū)域、劉海屏區(qū)域、手勢區(qū)域、軟鍵盤區(qū)域等與窗口內(nèi)容重疊時,需要窗口內(nèi)容避讓的區(qū)域。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用getWindowAvoidArea()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

AvoidAreaType

表示規(guī)避區(qū)類型。

callback

AsyncCallback<AvoidArea>

回調(diào)函數(shù)。返回窗口內(nèi)容規(guī)避區(qū)域。

示例:

  1. let type = window.AvoidAreaType.TYPE_SYSTEM;
  2. windowClass.getAvoidArea(type, (err, data) => {
  3. if (err.code) {
  4. console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
  8. });

getAvoidArea(deprecated)

getAvoidArea(type: AvoidAreaType): Promise<AvoidArea>

獲取窗口內(nèi)容規(guī)避的區(qū)域;如系統(tǒng)欄區(qū)域、劉海屏區(qū)域、手勢區(qū)域、軟鍵盤區(qū)域等與窗口內(nèi)容重疊時,需要窗口內(nèi)容避讓的區(qū)域。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用getWindowAvoidArea()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

AvoidAreaType

表示規(guī)避區(qū)類型。

返回值:

類型

說明

Promise<AvoidArea>

Promise對象。返回窗口內(nèi)容規(guī)避區(qū)域。

示例:

  1. let type = window.AvoidAreaType.TYPE_SYSTEM;
  2. let promise = windowClass.getAvoidArea(type);
  3. promise.then((data)=> {
  4. console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
  5. }).catch((err)=>{
  6. console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
  7. });

setFullScreen(deprecated)

setFullScreen(isFullScreen: boolean, callback: AsyncCallback<void>): void

設(shè)置是否為全屏狀態(tài),使用callback異步回調(diào)。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦聯(lián)合使用setWindowSystemBarEnable()setWindowLayoutFullScreen()實現(xiàn)全屏。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isFullScreen

boolean

是否設(shè)為全屏狀態(tài)(該全屏狀態(tài)隱藏狀態(tài)欄導航欄)。true表示全屏;false表示非全屏。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let isFullScreen = true;
  2. windowClass.setFullScreen(isFullScreen, (err) => {
  3. if (err.code) {
  4. console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in enabling the full-screen mode.');
  8. });

setFullScreen(deprecated)

setFullScreen(isFullScreen: boolean): Promise<void>

設(shè)置是否為全屏狀態(tài),使用Promise異步回調(diào)。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦聯(lián)合使用setWindowSystemBarEnable()setWindowLayoutFullScreen()實現(xiàn)全屏。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isFullScreen

boolean

是否設(shè)為全屏狀態(tài)(該全屏狀態(tài)隱藏狀態(tài)欄導航欄)。true表示全屏;false表示非全屏。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let isFullScreen = true;
  2. let promise = windowClass.setFullScreen(isFullScreen);
  3. promise.then(()=> {
  4. console.info('Succeeded in enabling the full-screen mode.');
  5. }).catch((err)=>{
  6. console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
  7. });

setLayoutFullScreen(deprecated)

setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void

設(shè)置窗口的布局是否為全屏顯示狀態(tài),使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowLayoutFullScreen()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isLayoutFullScreen

boolean

窗口的布局是否為全屏顯示狀態(tài)(該全屏狀態(tài)下狀態(tài)欄、導航欄仍然顯示)。true表示全屏;false表示非全屏。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let isLayoutFullScreen= true;
  2. windowClass.setLayoutFullScreen(isLayoutFullScreen, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting the window layout to full-screen mode.');
  8. });

setLayoutFullScreen(deprecated)

setLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void>

設(shè)置窗口的布局是否為全屏顯示狀態(tài),使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowLayoutFullScreen()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isLayoutFullScreen

boolean

窗口的布局是否為全屏顯示狀態(tài)(該全屏狀態(tài)下狀態(tài)欄、導航欄仍然顯示)。true表示全屏;false表示非全屏。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let isLayoutFullScreen = true;
  2. let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
  3. promise.then(()=> {
  4. console.info('Succeeded in setting the window layout to full-screen mode.');
  5. }).catch((err)=>{
  6. console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
  7. });

setSystemBarEnable(deprecated)

setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback<void>): void

設(shè)置導航欄、狀態(tài)欄的可見模式,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowSystemBarEnable()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

names

Array<'status'|'navigation'>

設(shè)置狀態(tài)欄和導航欄是否顯示。

例如,需全部顯示,該參數(shù)設(shè)置為['status', 'navigation'];不設(shè)置,則默認不顯示。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. // 此處以不顯示導航欄、狀態(tài)欄為例
  2. let names = [];
  3. windowClass.setSystemBarEnable(names, (err) => {
  4. if (err.code) {
  5. console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('Succeeded in setting the system bar to be invisible.');
  9. });

setSystemBarEnable(deprecated)

setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void>

設(shè)置導航欄、狀態(tài)欄的可見模式,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowSystemBarEnable()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

names

Array<'status'|'navigation'>

設(shè)置狀態(tài)欄和導航欄是否顯示。

例如,需全部顯示,該參數(shù)設(shè)置為['status', 'navigation'];不設(shè)置,則默認不顯示。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. // 此處以不顯示導航欄、狀態(tài)欄為例
  2. let names = [];
  3. let promise = windowClass.setSystemBarEnable(names);
  4. promise.then(()=> {
  5. console.info('Succeeded in setting the system bar to be invisible.');
  6. }).catch((err)=>{
  7. console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
  8. });

setSystemBarProperties(deprecated)

setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void

設(shè)置窗口內(nèi)導航欄、狀態(tài)欄的屬性,使用callback異步回調(diào)。

說明
  • 從 API version 6開始支持,從API version 9開始廢棄。
  • 此接口能力在HarmonyOS 3.1Release暫不支持。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

SystemBarProperties

SystemBarProperties

導航欄、狀態(tài)欄的屬性。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let SystemBarProperties={
  2. statusBarColor: '#ff00ff',
  3. navigationBarColor: '#00ff00',
  4. //以下兩個屬性從API Version8開始支持
  5. statusBarContentColor:'#ffffff',
  6. navigationBarContentColor:'#00ffff'
  7. };
  8. windowClass.setSystemBarProperties(SystemBarProperties, (err) => {
  9. if (err.code) {
  10. console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
  11. return;
  12. }
  13. console.info('Succeeded in setting the system bar properties.');
  14. });

setSystemBarProperties(deprecated)

setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void>

設(shè)置窗口內(nèi)導航欄、狀態(tài)欄的屬性,使用Promise異步回調(diào)。

說明
  • 從 API version 6開始支持,從API version 9開始廢棄。
  • 此接口能力在HarmonyOS 3.1Release暫不支持。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

SystemBarProperties

SystemBarProperties

導航欄、狀態(tài)欄的屬性。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let SystemBarProperties={
  2. statusBarColor: '#ff00ff',
  3. navigationBarColor: '#00ff00',
  4. //以下兩個屬性從API Version8開始支持
  5. statusBarContentColor:'#ffffff',
  6. navigationBarContentColor:'#00ffff'
  7. };
  8. let promise = windowClass.setSystemBarProperties(SystemBarProperties);
  9. promise.then(()=> {
  10. console.info('Succeeded in setting the system bar properties.');
  11. }).catch((err)=>{
  12. console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
  13. });

loadContent(deprecated)

loadContent(path: string, callback: AsyncCallback<void>): void

為當前窗口加載具體頁面內(nèi)容,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setUIContent()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,Stage模型下該路徑需添加到工程的main_pages.json文件中,F(xiàn)A模型下該路徑需添加到工程的config.json文件中。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.loadContent('pages/page2/page2', (err) => {
  2. if (err.code) {
  3. console.error('Failed to load the content. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in loading the content.');
  7. });

loadContent(deprecated)

loadContent(path: string): Promise<void>

為當前窗口加載具體頁面內(nèi)容,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setUIContent()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,Stage模型下該路徑需添加到工程的main_pages.json文件中,F(xiàn)A模型下該路徑需添加到工程的config.json文件中。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.loadContent('pages/page2/page2');
  2. promise.then(()=> {
  3. console.info('Succeeded in loading the content.');
  4. }).catch((err)=>{
  5. console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
  6. });

isShowing(deprecated)

isShowing(callback: AsyncCallback<boolean>): void

判斷當前窗口是否已顯示,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用isWindowShowing()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

回調(diào)函數(shù)。返回true表示當前窗口已顯示,返回false表示當前窗口未顯示。

示例:

  1. windowClass.isShowing((err, data) => {
  2. if (err.code) {
  3. console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
  7. });

isShowing(deprecated)

isShowing(): Promise<boolean>

判斷當前窗口是否已顯示,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用isWindowShowing()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示當前窗口已顯示,返回false表示當前窗口未顯示。

示例:

  1. let promise = windowClass.isShowing();
  2. promise.then((data)=> {
  3. console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
  4. }).catch((err)=>{
  5. console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
  6. });

on('systemAvoidAreaChange')(deprecated)

on(type: 'systemAvoidAreaChange', callback: Callback<AvoidArea>): void

開啟系統(tǒng)規(guī)避區(qū)變化的監(jiān)聽。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用on('avoidAreaChange')。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'systemAvoidAreaChange',即系統(tǒng)規(guī)避區(qū)變化事件。

callback

Callback<AvoidArea>

回調(diào)函數(shù)。返回當前規(guī)避區(qū)。

示例:

  1. windowClass.on('systemAvoidAreaChange', (data) => {
  2. console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
  3. });

off('systemAvoidAreaChange')(deprecated)

off(type: 'systemAvoidAreaChange', callback?: Callback<AvoidArea>): void

關(guān)閉系統(tǒng)規(guī)避區(qū)變化的監(jiān)聽。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用off('avoidAreaChange')。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'systemAvoidAreaChange',即系統(tǒng)規(guī)避區(qū)變化事件。

callback

Callback<AvoidArea>

回調(diào)函數(shù)。返回當前規(guī)避區(qū)。

示例:

  1. windowClass.off('systemAvoidAreaChange');

isSupportWideGamut(deprecated)

isSupportWideGamut(callback: AsyncCallback<boolean>): void

判斷當前窗口是否支持廣色域模式,使用callback異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用isWindowSupportWideGamut()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

回調(diào)函數(shù)。返回true表示當前窗口支持廣色域模式,返回false表示當前窗口不支持廣色域模式。

示例:

  1. windowClass.isSupportWideGamut((err, data) => {
  2. if (err.code) {
  3. console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
  7. });

isSupportWideGamut(deprecated)

isSupportWideGamut(): Promise<boolean>

判斷當前窗口是否支持廣色域模式,使用Promise異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用isWindowSupportWideGamut()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示當前窗口支持廣色域模式,返回false表示當前窗口不支持廣色域模式。

示例:

  1. let promise = windowClass.isSupportWideGamut();
  2. promise.then((data)=> {
  3. console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
  4. }).catch((err)=>{
  5. console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
  6. });

setColorSpace(deprecated)

setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void

設(shè)置當前窗口為廣色域模式或默認色域模式,使用callback異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用setWindowColorSpace()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

colorSpace

ColorSpace

設(shè)置色域模式。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
  2. if (err.code) {
  3. console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in setting window colorspace.');
  7. });

setColorSpace(deprecated)

setColorSpace(colorSpace:ColorSpace): Promise<void>

設(shè)置當前窗口為廣色域模式或默認色域模式,使用Promise異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用setWindowColorSpace()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

colorSpace

ColorSpace

設(shè)置色域模式。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT);
  2. promise.then(()=> {
  3. console.info('Succeeded in setting window colorspace.');
  4. }).catch((err)=>{
  5. console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
  6. });

getColorSpace(deprecated)

getColorSpace(callback: AsyncCallback<ColorSpace>): void

獲取當前窗口色域模式,使用callback異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用getWindowColorSpace()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<ColorSpace>

回調(diào)函數(shù)。當獲取成功,err為undefined,data為當前色域模式。

示例:

  1. windowClass.getColorSpace((err, data) => {
  2. if (err.code) {
  3. console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data));
  7. });

getColorSpace(deprecated)

getColorSpace(): Promise<ColorSpace>

獲取當前窗口色域模式,使用Promise異步回調(diào)。

說明

從 API version 8開始支持,從API version 9開始廢棄,推薦使用getWindowColorSpace()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<ColorSpace>

Promise對象。返回當前色域模式。

示例:

  1. let promise = windowClass.getColorSpace();
  2. promise.then((data)=> {
  3. console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data));
  4. }).catch((err)=>{
  5. console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err));
  6. });

setBackgroundColor(deprecated)

setBackgroundColor(color: string, callback: AsyncCallback<void>): void

設(shè)置窗口的背景色,使用callback異步回調(diào)。Stage模型下,該接口需要在loadContentsetUIContent之后使用。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用setWindowBackgroundColor()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

color

string

需要設(shè)置的背景色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let color = '#00ff33';
  2. windowClass.setBackgroundColor(color, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting the background color.');
  8. });

setBackgroundColor(deprecated)

setBackgroundColor(color: string): Promise<void>

設(shè)置窗口的背景色,使用Promise異步回調(diào)。Stage模型下,該接口需要在loadContentsetUIContent之后使用。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用setWindowBackgroundColor()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

color

string

需要設(shè)置的背景色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let color = '#00ff33';
  2. let promise = windowClass.setBackgroundColor(color);
  3. promise.then(()=> {
  4. console.info('Succeeded in setting the background color.');
  5. }).catch((err)=>{
  6. console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
  7. });

setBrightness(deprecated)

setBrightness(brightness: number, callback: AsyncCallback<void>): void

設(shè)置屏幕亮度值,使用callback異步回調(diào)。

當前屏幕亮度規(guī)格:窗口設(shè)置屏幕亮度生效時,控制中心不可以調(diào)整系統(tǒng)屏幕亮度,窗口恢復默認系統(tǒng)亮度之后,控制中心可以調(diào)整系統(tǒng)屏幕亮度。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用setWindowBrightness()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

brightness

number

屏幕亮度值,值為0-1之間。1表示最亮。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let brightness = 1;
  2. windowClass.setBrightness(brightness, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting the brightness.');
  8. });

setBrightness(deprecated)

setBrightness(brightness: number): Promise<void>

設(shè)置屏幕亮度值,使用Promise異步回調(diào)。

當前屏幕亮度規(guī)格:窗口設(shè)置屏幕亮度生效時,控制中心不可以調(diào)整系統(tǒng)屏幕亮度,窗口恢復默認系統(tǒng)亮度之后,控制中心可以調(diào)整系統(tǒng)屏幕亮度。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用setWindowBrightness()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

brightness

number

屏幕亮度值,值為0-1之間。1表示最亮。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let brightness = 1;
  2. let promise = windowClass.setBrightness(brightness);
  3. promise.then(()=> {
  4. console.info('Succeeded in setting the brightness.');
  5. }).catch((err)=>{
  6. console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
  7. });

setDimBehind(deprecated)

setDimBehind(dimBehindValue: number, callback: AsyncCallback<void>): void

窗口疊加時,設(shè)備有子窗口的情況下設(shè)置靠后的窗口的暗度值,使用callback異步回調(diào)。

說明

該接口不支持使用。從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

dimBehindValue

number

表示靠后的窗口的暗度值,取值范圍為0-1,1表示最暗。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.setDimBehind(0.5, (err) => {
  2. if (err.code) {
  3. console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in setting the dimness.');
  7. });

setDimBehind(deprecated)

setDimBehind(dimBehindValue: number): Promise<void>

窗口疊加時,設(shè)備有子窗口的情況下設(shè)置靠后的窗口的暗度值,使用Promise異步回調(diào)。

說明

該接口不支持使用。從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

dimBehindValue

number

表示靠后的窗口的暗度值,取值范圍為0-1,1表示最暗。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.setDimBehind(0.5);
  2. promise.then(()=> {
  3. console.info('Succeeded in setting the dimness.');
  4. }).catch((err)=>{
  5. console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
  6. });

setFocusable(deprecated)

setFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void

設(shè)置點擊時是否支持切換焦點窗口,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowFocusable()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isFocusable

boolean

點擊時是否支持切換焦點窗口。true表示支持;false表示不支持。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let isFocusable= true;
  2. windowClass.setFocusable(isFocusable, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting the window to be focusable.');
  8. });

setFocusable(deprecated)

setFocusable(isFocusable: boolean): Promise<void>

設(shè)置點擊時是否支持切換焦點窗口,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowFocusable()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isFocusable

boolean

點擊時是否支持切換焦點窗口。true表示支持;false表示不支持。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let isFocusable= true;
  2. let promise = windowClass.setFocusable(isFocusable);
  3. promise.then(()=> {
  4. console.info('Succeeded in setting the window to be focusable.');
  5. }).catch((err)=>{
  6. console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
  7. });

setKeepScreenOn(deprecated)

setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void

設(shè)置屏幕是否為常亮狀態(tài),使用callback異步回調(diào)。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用setWindowKeepScreenOn()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isKeepScreenOn

boolean

設(shè)置屏幕是否為常亮狀態(tài)。true表示常亮;false表示不常亮。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let isKeepScreenOn = true;
  2. windowClass.setKeepScreenOn(isKeepScreenOn, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting the screen to be always on.');
  8. });

setKeepScreenOn(deprecated)

setKeepScreenOn(isKeepScreenOn: boolean): Promise<void>

設(shè)置屏幕是否為常亮狀態(tài),使用Promise異步回調(diào)。

說明

從 API version 6開始支持,從API version 9開始廢棄,推薦使用setWindowKeepScreenOn()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isKeepScreenOn

boolean

設(shè)置屏幕是否為常亮狀態(tài)。true表示常亮;false表示不常亮。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let isKeepScreenOn = true;
  2. let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
  3. promise.then(() => {
  4. console.info('Succeeded in setting the screen to be always on.');
  5. }).catch((err)=>{
  6. console.info('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
  7. });

setOutsideTouchable(deprecated)

setOutsideTouchable(touchable: boolean, callback: AsyncCallback<void>): void

設(shè)置是否允許可點擊子窗口之外的區(qū)域,使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄。

從 API version 9開始,系統(tǒng)默認允許點擊子窗口之外的區(qū)域,此接口不再支持使用,也不再提供替代接口。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

touchable

boolean

設(shè)置是否可點擊。true表示可點擊;false表示不可點擊。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. windowClass.setOutsideTouchable(true, (err) => {
  2. if (err.code) {
  3. console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.info('Succeeded in setting the area to be touchable.');
  7. });

setOutsideTouchable(deprecated)

setOutsideTouchable(touchable: boolean): Promise<void>

設(shè)置是否允許可點擊子窗口之外的區(qū)域,使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄。

從 API version 9開始,系統(tǒng)默認允許點擊子窗口之外的區(qū)域,此接口不再支持使用,也不再提供替代接口。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

touchable

boolean

設(shè)置是否可點擊。true表示可點擊;false表示不可點擊。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let promise = windowClass.setOutsideTouchable(true);
  2. promise.then(()=> {
  3. console.info('Succeeded in setting the area to be touchable.');
  4. }).catch((err)=>{
  5. console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
  6. });

setPrivacyMode(deprecated)

setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void

設(shè)置窗口是否為隱私模式,使用callback異步回調(diào)。設(shè)置為隱私模式的窗口,窗口內(nèi)容將無法被截屏或錄屏。此接口可用于禁止截屏/錄屏的場景。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowPrivacyMode()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isPrivacyMode

boolean

窗口是否為隱私模式。true表示模式開啟;false表示模式關(guān)閉。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let isPrivacyMode = true;
  2. windowClass.setPrivacyMode(isPrivacyMode, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting the window to privacy mode.');
  8. });

setPrivacyMode(deprecated)

setPrivacyMode(isPrivacyMode: boolean): Promise<void>

設(shè)置窗口是否為隱私模式,使用Promise異步回調(diào)。設(shè)置為隱私模式的窗口,窗口內(nèi)容將無法被截屏或錄屏。此接口可用于禁止截屏/錄屏的場景。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowPrivacyMode()。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isPrivacyMode

boolean

窗口是否為隱私模式。true表示模式開啟;false表示模式關(guān)閉。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let isPrivacyMode = true;
  2. let promise = windowClass.setPrivacyMode(isPrivacyMode);
  3. promise.then(()=> {
  4. console.info('Succeeded in setting the window to privacy mode.');
  5. }).catch((err)=>{
  6. console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
  7. });

setTouchable(deprecated)

setTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void

設(shè)置窗口是否為可觸狀態(tài),使用callback異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowTouchable()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isTouchable

boolean

窗口是否為可觸狀態(tài)。true表示可觸;false表示不可觸。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

示例:

  1. let isTouchable = true;
  2. windowClass.setTouchable(isTouchable, (err) => {
  3. if (err.code) {
  4. console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in setting the window to be touchable.');
  8. });

setTouchable(deprecated)

setTouchable(isTouchable: boolean): Promise<void>

設(shè)置窗口是否為可觸狀態(tài),使用Promise異步回調(diào)。

說明

從 API version 7開始支持,從API version 9開始廢棄,推薦使用setWindowTouchable()

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

isTouchable

boolean

窗口是否為可觸狀態(tài)。true表示可觸;false表示不可觸。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

示例:

  1. let isTouchable = true;
  2. let promise = windowClass.setTouchable(isTouchable);
  3. promise.then(()=> {
  4. console.info('Succeeded in setting the window to be touchable.');
  5. }).catch((err)=>{
  6. console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
  7. });

WindowStageEventType9+

WindowStage生命周期。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

名稱

說明

SHOWN

1

切到前臺。

ACTIVE

2

獲焦狀態(tài)。

INACTIVE

3

失焦狀態(tài)。

HIDDEN

4

切到后臺。

WindowStage9+

窗口管理器。管理各個基本窗口單元,即Window實例。

下列API示例中都需在onWindowStageCreate()函數(shù)中使用WindowStage的實例調(diào)用對應方法。

getMainWindow9+

getMainWindow(callback: AsyncCallback<Window>): void

獲取該WindowStage實例下的主窗口,使用callback異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前WindowStage下的主窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. let windowClass = null;
  6. windowStage.getMainWindow((err, data) => {
  7. if (err.code) {
  8. console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
  9. return;
  10. }
  11. windowClass = data;
  12. console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
  13. });
  14. }
  15. };

getMainWindow9+

getMainWindow(): Promise<Window>

獲取該WindowStage實例下的主窗口,使用Promise異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前WindowStage下的主窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. let windowClass = null;
  6. let promise = windowStage.getMainWindow();
  7. promise.then((data) => {
  8. windowClass = data;
  9. console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
  10. }).catch((err) => {
  11. console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
  12. });
  13. }
  14. };

getMainWindowSync9+

getMainWindowSync(): Window

獲取該WindowStage實例下的主窗口。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Window

返回當前WindowStage下的主窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. try {
  6. let windowClass = windowStage.getMainWindowSync();
  7. } catch (exception) {
  8. console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(exception));
  9. };
  10. }
  11. };

createSubWindow9+

createSubWindow(name: string, callback: AsyncCallback<Window>): void

創(chuàng)建該WindowStage實例下的子窗口,使用callback異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

name

string

子窗口的名字。

callback

AsyncCallback<Window>

回調(diào)函數(shù)。返回當前WindowStage下的子窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. let windowClass = null;
  6. try {
  7. windowStage.createSubWindow('mySubWindow', (err, data) => {
  8. if (err.code) {
  9. console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
  10. return;
  11. }
  12. windowClass = data;
  13. console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
  14. windowClass.resize(500, 1000);
  15. });
  16. } catch (exception) {
  17. console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
  18. };
  19. }
  20. };

createSubWindow9+

createSubWindow(name: string): Promise<Window>

創(chuàng)建該WindowStage實例下的子窗口,使用Promise異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

name

string

子窗口的名字。

返回值:

類型

說明

Promise<Window>

Promise對象。返回當前WindowStage下的子窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. let windowClass = null;
  6. try {
  7. let promise = windowStage.createSubWindow('mySubWindow');
  8. promise.then((data) => {
  9. windowClass = data;
  10. console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
  11. }).catch((err) => {
  12. console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
  13. });
  14. } catch (exception) {
  15. console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
  16. };
  17. }
  18. };

getSubWindow9+

getSubWindow(callback: AsyncCallback<Array<Window>>): void

獲取該WindowStage實例下的所有子窗口,使用callback異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<Array<Window>>

回調(diào)函數(shù)。返回當前WindowStage下的所有子窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. let windowClass = null;
  6. windowStage.getSubWindow((err, data) => {
  7. if (err.code) {
  8. console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
  9. return;
  10. }
  11. windowClass = data;
  12. console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
  13. });
  14. }
  15. };

getSubWindow9+

getSubWindow(): Promise<Array<Window>>

獲取該WindowStage實例下的所有子窗口,使用Promise異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

類型

說明

Promise<Array<Window>>

Promise對象。返回當前WindowStage下的所有子窗口對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. let windowClass = null;
  6. let promise = windowStage.getSubWindow();
  7. promise.then((data) => {
  8. windowClass = data;
  9. console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
  10. }).catch((err) => {
  11. console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
  12. })
  13. }
  14. };

loadContent9+

loadContent(path: string, storage: LocalStorage, callback: AsyncCallback<void>): void

為當前WindowStage的主窗口加載與LocalStorage相關(guān)聯(lián)的具體頁面內(nèi)容,使用callback異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,該路徑需添加到工程的main_pages.json文件中。

storage

LocalStorage

存儲單元,為應用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. storage : LocalStorage
  4. onWindowStageCreate(windowStage) {
  5. this.storage = new LocalStorage();
  6. this.storage.setOrCreate('storageSimpleProp',121);
  7. console.log('onWindowStageCreate');
  8. try {
  9. windowStage.loadContent('pages/page2',this.storage,(err) => {
  10. if (err.code) {
  11. console.error('Failed to load the content. Cause:' + JSON.stringify(err));
  12. return;
  13. }
  14. console.info('Succeeded in loading the content.');
  15. });
  16. } catch (exception) {
  17. console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
  18. };
  19. }
  20. };

loadContent9+

loadContent(path: string, storage?: LocalStorage): Promise<void>

為當前WindowStage的主窗口加載與LocalStorage相關(guān)聯(lián)的具體頁面內(nèi)容,使用Promise異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,該路徑需添加到工程的main_pages.json文件中。

storage

LocalStorage

存儲單元,為應用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。

返回值:

類型

說明

Promise<void>

無返回結(jié)果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. storage : LocalStorage
  4. onWindowStageCreate(windowStage) {
  5. this.storage = new LocalStorage();
  6. this.storage.setOrCreate('storageSimpleProp',121);
  7. console.log('onWindowStageCreate');
  8. try {
  9. let promise = windowStage.loadContent('pages/page2',this.storage);
  10. promise.then(() => {
  11. console.info('Succeeded in loading the content.');
  12. }).catch((err) => {
  13. console.error('Failed to load the content. Cause:' + JSON.stringify(err));
  14. });
  15. } catch (exception) {
  16. console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
  17. };
  18. }
  19. };

loadContent9+

loadContent(path: string, callback: AsyncCallback<void>): void

為當前WindowStage的主窗口加載具體頁面內(nèi)容,使用callback異步回調(diào)。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

path

string

要加載到窗口中的頁面內(nèi)容的路徑,該路徑需添加到工程的main_pages.json文件中。

callback

AsyncCallback<void>

回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. try {
  6. windowStage.loadContent('pages/page2', (err) => {
  7. if (err.code) {
  8. console.error('Failed to load the content. Cause:' + JSON.stringify(err));
  9. return;
  10. }
  11. console.info('Succeeded in loading the content.');
  12. });
  13. } catch (exception) {
  14. console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
  15. };
  16. }
  17. };

on('windowStageEvent')9+

on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void

開啟WindowStage生命周期變化的監(jiān)聽。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'windowStageEvent',即WindowStage生命周期變化事件。

callback

Callback<WindowStageEventType>

回調(diào)函數(shù)。返回當前的WindowStage生命周期狀態(tài)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. try {
  6. windowStage.on('windowStageEvent', (data) => {
  7. console.info('Succeeded in enabling the listener for window stage event changes. Data: ' +
  8. JSON.stringify(data));
  9. });
  10. } catch (exception) {
  11. console.error('Failed to enable the listener for window stage event changes. Cause:' +
  12. JSON.stringify(exception));
  13. };
  14. }
  15. };

off('windowStageEvent')9+

off(eventType: 'windowStageEvent', callback?: Callback<WindowStageEventType>): void

關(guān)閉WindowStage生命周期變化的監(jiān)聽。

模型約束: 此接口僅可在Stage模型下使用。

系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

監(jiān)聽事件,固定為'windowStageEvent',即WindowStage生命周期變化事件。

callback

Callback<WindowStageEventType>

回調(diào)函數(shù)。返回當前的WindowStage生命周期狀態(tài)。

錯誤碼:

以下錯誤碼的詳細介紹請參見窗口錯誤碼。

錯誤碼ID

錯誤信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class myAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. console.log('onWindowStageCreate');
  5. try {
  6. windowStage.off('windowStageEvent');
  7. } catch (exception) {
  8. console.error('Failed to disable the listener for window stage event changes. Cause:' +
  9. JSON.stringify(exception));
  10. };
  11. }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號