HarmonyOS API:@ohos.window (窗口)

joytrian
发布于 2023-4-4 15:55
浏览
0收藏


版本:v3.1 Beta

@ohos.window (窗口)

setWindowBrightness9+

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

设置屏幕亮度值,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

brightness

number

屏幕亮度值,值为0-1之间。1表示最亮。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let brightness = 1;
try {
    windowClass.setWindowBrightness(brightness, (err) => {
        if (err.code) {
            console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the brightness.');
    });
} catch (exception) {
    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
}

setWindowBrightness9+

setWindowBrightness(brightness: number): Promise<void>

设置屏幕亮度值,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

brightness

number

屏幕亮度值,值为0-1之间。1表示最亮。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let brightness = 1;
try {
    let promise = windowClass.setWindowBrightness(brightness);
    promise.then(()=> {
        console.info('Succeeded in setting the brightness.');
    }).catch((err)=>{
        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
}

setWindowFocusable9+

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

设置点击时是否支持切换焦点窗口,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

isFocusable

boolean

点击时是否支持切换焦点窗口。true表示支持;false表示不支持。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let isFocusable = true;
try {
    windowClass.setWindowFocusable(isFocusable, (err) => {
        if (err.code) {
            console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the window to be focusable.');
    });
} catch (exception) {
    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
}

setWindowFocusable9+

setWindowFocusable(isFocusable: boolean): Promise<void>

设置点击时是否支持切换焦点窗口,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

isFocusable

boolean

点击时是否支持切换焦点窗口。true表示支持;false表示不支持。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let isFocusable = true;
try {
    let promise = windowClass.setWindowFocusable(isFocusable);
    promise.then(()=> {
        console.info('Succeeded in setting the window to be focusable.');
    }).catch((err)=>{
        console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
}

setWindowKeepScreenOn9+

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

设置屏幕是否为常亮状态,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

isKeepScreenOn

boolean

设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let isKeepScreenOn = true;
try {
    windowClass.setWindowKeepScreenOn(isKeepScreenOn, (err) => {
        if (err.code) {
            console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the screen to be always on.');
    });
} catch (exception) {
    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
}

setWindowKeepScreenOn9+

setWindowKeepScreenOn(isKeepScreenOn: boolean): Promise<void>

设置屏幕是否为常亮状态,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

isKeepScreenOn

boolean

设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let isKeepScreenOn = true;
try {
    let promise = windowClass.setWindowKeepScreenOn(isKeepScreenOn);
    promise.then(() => {
        console.info('Succeeded in setting the screen to be always on.');
    }).catch((err)=>{
        console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
}

setWindowPrivacyMode9+

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

设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。

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

需要权限: ohos.permission.PRIVACY_WINDOW

参数:

参数名

类型

必填

说明

isPrivacyMode

boolean

窗口是否为隐私模式。true表示模式开启;false表示模式关闭。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

示例:

let isPrivacyMode = true;
try {
    windowClass.setWindowPrivacyMode(isPrivacyMode, (err) => {
        if (err.code) {
            console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the window to privacy mode.');
    });
} catch (exception) {
    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
}

setWindowPrivacyMode9+

setWindowPrivacyMode(isPrivacyMode: boolean): Promise<void>

设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。

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

需要权限: ohos.permission.PRIVACY_WINDOW

参数:

参数名

类型

必填

说明

isPrivacyMode

boolean

窗口是否为隐私模式。true表示模式开启;false表示模式关闭。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

示例:

let isPrivacyMode = true;
try {
    let promise = windowClass.setWindowPrivacyMode(isPrivacyMode);
    promise.then(()=> {
        console.info('Succeeded in setting the window to privacy mode.');
    }).catch((err)=>{
        console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
}

setWindowTouchable9+

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

设置窗口是否为可触状态,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

isTouchable

boolean

窗口是否为可触状态。true表示可触;false表示不可触。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let isTouchable = true;
try {
    windowClass.setWindowTouchable(isTouchable, (err) => {
        if (err.code) {
            console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
            return;
        }
        console.info('Succeeded in setting the window to be touchable.');
    });
} catch (exception) {
    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
}

setWindowTouchable9+

setWindowTouchable(isTouchable: boolean): Promise<void>

设置窗口是否为可触状态,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

isTouchable

boolean

窗口是否为可触状态。true表示可触;false表示不可触。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

let isTouchable = true;
try {
    let promise = windowClass.setWindowTouchable(isTouchable);
    promise.then(()=> {
        console.info('Succeeded in setting the window to be touchable.');
    }).catch((err)=>{
        console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
}

show(deprecated)

show(callback: AsyncCallback<void>): void

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

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​showWindow()​​。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

回调函数。

示例:

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

show(deprecated)

show(): Promise<void>

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


说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​showWindow()​​。


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

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

destroy(deprecated)

destroy(callback: AsyncCallback<void>): void

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


说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​destroyWindow()​​。


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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

回调函数。

示例:

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

destroy(deprecated)

destroy(): Promise<void>

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


说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​destroyWindow()​​。


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

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

moveTo(deprecated)

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

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

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


说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​moveWindowTo()​​。


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

参数:

参数名

类型

必填

说明

x

number

窗口在x轴方向移动的值,值为正表示右移,单位为px。

y

number

窗口在y轴方向移动的值,值为正表示下移,单位为px。

callback

AsyncCallback<void>

回调函数。

示例:

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

moveTo(deprecated)

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

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

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


说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​moveWindowTo()​​。


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

参数:

参数名

类型

必填

说明

x

number

窗口在x轴方向移动的值,值为正表示右移,单位为px。

y

number

窗口在y轴方向移动的值,值为正表示下移,单位为px。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

resetSize(deprecated)

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

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

应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。

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

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

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


说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​resize()​​。


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

参数:

参数名

类型

必填

说明

width

number

目标窗口的宽度,单位为px。

height

number

目标窗口的高度,单位为px。

callback

AsyncCallback<void>

回调函数。

示例:

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

resetSize(deprecated)

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

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

应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。

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

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

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


说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​resize()​​。


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

参数:

参数名

类型

必填

说明

width

number

目标窗口的宽度,单位为px。

height

number

目标窗口的高度,单位为px。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

getProperties(deprecated)

getProperties(callback: AsyncCallback<WindowProperties>): void

获取当前窗口的属性,使用callback异步回调,返回WindowProperties。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​getWindowProperties()​​。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<​​WindowProperties​​>

回调函数。返回当前窗口属性。

示例:

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

getProperties(deprecated)

getProperties(): Promise<WindowProperties>

获取当前窗口的属性,使用Promise异步回调,返回WindowProperties。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​getWindowProperties()​​。

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

返回值:

类型

说明

Promise<​​WindowProperties​​>

Promise对象。返回当前窗口属性。

示例:

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

getAvoidArea(deprecated)

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

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

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​getWindowAvoidArea()​​。

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

参数:

参数名

类型

必填

说明

type

​AvoidAreaType​

表示规避区类型。

callback

AsyncCallback<​​AvoidArea​​>

回调函数。返回窗口内容规避区域。

示例:

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

getAvoidArea(deprecated)

getAvoidArea(type: ​​AvoidAreaType​​​): Promise<​​AvoidArea​​>

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

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​getWindowAvoidArea()​​。

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

参数:

参数名

类型

必填

说明

type

​AvoidAreaType​

表示规避区类型。

返回值:

类型

说明

Promise<​​AvoidArea​​>

Promise对象。返回窗口内容规避区域。

示例:

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

setFullScreen(deprecated)

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

设置是否为全屏状态,使用callback异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowSystemBarEnable()​​。

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

参数:

参数名

类型

必填

说明

isFullScreen

boolean

是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。

callback

AsyncCallback<void>

回调函数。

示例:

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

setFullScreen(deprecated)

setFullScreen(isFullScreen: boolean): Promise<void>

设置是否为全屏状态,使用Promise异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowSystemBarEnable()​​。

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

参数:

参数名

类型

必填

说明

isFullScreen

boolean

是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setLayoutFullScreen(deprecated)

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

设置窗口的布局是否为全屏显示状态,使用callback异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowLayoutFullScreen()​​。

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

参数:

参数名

类型

必填

说明

isLayoutFullScreen

boolean

窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。

callback

AsyncCallback<void>

回调函数。

示例:

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

setLayoutFullScreen(deprecated)

setLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void>

设置窗口的布局是否为全屏显示状态,使用Promise异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowLayoutFullScreen()​​。

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

参数:

参数名

类型

必填

说明

isLayoutFullScreen

boolean

窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setSystemBarEnable(deprecated)

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

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

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowSystemBarEnable()​​。

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

参数:

参数名

类型

必填

说明

names

Array<'status'|'navigation'>

设置状态栏和导航栏是否显示。

例如,需全部显示,该参数设置为['status', 'navigation'];不设置,则默认不显示。

callback

AsyncCallback<void>

回调函数。

示例:

// 此处以不显示导航栏、状态栏为例
let names = [];
windowClass.setSystemBarEnable(names, (err) => {
    if (err.code) {
        console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the system bar to be invisible.');
});

setSystemBarEnable(deprecated)

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

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

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowSystemBarEnable()​​。

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

参数:

参数名

类型

必填

说明

names

Array<'status'|'navigation'>

设置状态栏和导航栏是否显示。

例如,需全部显示,该参数设置为['status', 'navigation'];不设置,则默认不显示。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

// 此处以不显示导航栏、状态栏为例
let names = [];
let promise = windowClass.setSystemBarEnable(names);
promise.then(()=> {
    console.info('Succeeded in setting the system bar to be invisible.');
}).catch((err)=>{
    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
});

setSystemBarProperties(deprecated)

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

设置窗口内导航栏、状态栏的属性,使用callback异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowSystemBarProperties()​​。

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

参数:

参数名

类型

必填

说明

SystemBarProperties

​SystemBarProperties​

导航栏、状态栏的属性。

callback

AsyncCallback<void>

回调函数。

示例:

let SystemBarProperties={
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
windowClass.setSystemBarProperties(SystemBarProperties, (err) => {
    if (err.code) {
        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the system bar properties.');
});

setSystemBarProperties(deprecated)

setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void>

设置窗口内导航栏、状态栏的属性,使用Promise异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowSystemBarProperties()​​。

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

参数:

参数名

类型

必填

说明

SystemBarProperties

​SystemBarProperties​

导航栏、状态栏的属性。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

let SystemBarProperties={
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
let promise = windowClass.setSystemBarProperties(SystemBarProperties);
promise.then(()=> {
    console.info('Succeeded in setting the system bar properties.');
}).catch((err)=>{
    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
});

loadContent(deprecated)

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

为当前窗口加载具体页面内容,使用callback异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setUIContent()​​。

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

参数:

参数名

类型

必填

说明

path

string

设置加载页面的路径。

callback

AsyncCallback<void>

回调函数。

示例:

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

loadContent(deprecated)

loadContent(path: string): Promise<void>

为当前窗口加载具体页面内容,使用Promise异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setUIContent()​​。

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

参数:

参数名

类型

必填

说明

path

string

设置加载页面的路径。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

isShowing(deprecated)

isShowing(callback: AsyncCallback<boolean>): void

判断当前窗口是否已显示,使用callback异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​isWindowShowing()​​。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<boolean>

回调函数。返回true表示当前窗口已显示,返回false表示当前窗口未显示。

示例:

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

isShowing(deprecated)

isShowing(): Promise<boolean>

判断当前窗口是否已显示,使用Promise异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​isWindowShowing()​​。

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

返回值:

类型

说明

Promise<boolean>

Promise对象。返回true表示当前窗口已显示,返回false表示当前窗口未显示。

示例:

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

on('systemAvoidAreaChange')(deprecated)

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

开启系统规避区变化的监听。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​on('avoidAreaChange')​​。

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

参数:

参数名

类型

必填

说明

type

string

监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。

callback

Callback<​​AvoidArea​​>

回调函数。返回当前规避区。

示例:

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

off('systemAvoidAreaChange')(deprecated)

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

关闭系统规避区变化的监听。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​off('avoidAreaChange')​​。

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

参数:

参数名

类型

必填

说明

type

string

监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。

callback

Callback<​​AvoidArea​​>

回调函数。返回当前规避区。

示例:

windowClass.off('systemAvoidAreaChange');

setBackgroundColor(deprecated)

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

设置窗口的背景色,使用callback异步回调。Stage模型下,该接口需要在​​loadContent​​​或​​setUIContent()​​之后使用。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowBackgroundColor()​​。

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

参数:

参数名

类型

必填

说明

color

string

需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如#00FF00或#FF00FF00。

callback

AsyncCallback<void>

回调函数。

示例:

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

setBackgroundColor(deprecated)

setBackgroundColor(color: string): Promise<void>

设置窗口的背景色,使用Promise异步回调。Stage模型下,该接口需要在​​loadContent​​​或​​setUIContent()​​之后使用。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowBackgroundColor()​​。

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

参数:

参数名

类型

必填

说明

color

string

需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如#00FF00或#FF00FF00。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setBrightness(deprecated)

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

设置屏幕亮度值,使用callback异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowBrightness()​​。

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

参数:

参数名

类型

必填

说明

brightness

number

屏幕亮度值,值为0-1之间。1表示最亮。

callback

AsyncCallback<void>

回调函数。

示例:

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

setBrightness(deprecated)

setBrightness(brightness: number): Promise<void>

设置屏幕亮度值,使用Promise异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowBrightness()​​。

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

参数:

参数名

类型

必填

说明

brightness

number

屏幕亮度值,值为0-1之间。1表示最亮。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setFocusable(deprecated)

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

设置点击时是否支持切换焦点窗口,使用callback异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowFocusable()​​。

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

参数:

参数名

类型

必填

说明

isFocusable

boolean

点击时是否支持切换焦点窗口。true表示支持;false表示不支持。

callback

AsyncCallback<void>

回调函数。

示例:

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

setFocusable(deprecated)

setFocusable(isFocusable: boolean): Promise<void>

设置点击时是否支持切换焦点窗口,使用Promise异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowFocusable()​​。

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

参数:

参数名

类型

必填

说明

isFocusable

boolean

点击时是否支持切换焦点窗口。true表示支持;false表示不支持。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setKeepScreenOn(deprecated)

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

设置屏幕是否为常亮状态,使用callback异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowKeepScreenOn()​​。

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

参数:

参数名

类型

必填

说明

isKeepScreenOn

boolean

设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。

callback

AsyncCallback<void>

回调函数。

示例:

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

setKeepScreenOn(deprecated)

setKeepScreenOn(isKeepScreenOn: boolean): Promise<void>

设置屏幕是否为常亮状态,使用Promise异步回调。

说明

从 API version 6开始支持,从API version 9开始废弃,推荐使用​​setWindowKeepScreenOn()​​。

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

参数:

参数名

类型

必填

说明

isKeepScreenOn

boolean

设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setPrivacyMode(deprecated)

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

设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowPrivacyMode()​​。

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

参数:

参数名

类型

必填

说明

isPrivacyMode

boolean

窗口是否为隐私模式。true表示模式开启;false表示模式关闭。

callback

AsyncCallback<void>

回调函数。

示例:

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

setPrivacyMode(deprecated)

setPrivacyMode(isPrivacyMode: boolean): Promise<void>

设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowPrivacyMode()​​。

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

参数:

参数名

类型

必填

说明

isPrivacyMode

boolean

窗口是否为隐私模式。true表示模式开启;false表示模式关闭。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setTouchable(deprecated)

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

设置窗口是否为可触状态,使用callback异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowTouchable()​​。

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

参数:

参数名

类型

必填

说明

isTouchable

boolean

窗口是否为可触状态。true表示可触;false表示不可触。

callback

AsyncCallback<void>

回调函数。

示例:

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

setTouchable(deprecated)

setTouchable(isTouchable: boolean): Promise<void>

设置窗口是否为可触状态,使用Promise异步回调。

说明

从 API version 7开始支持,从API version 9开始废弃,推荐使用​​setWindowTouchable()​​。

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

参数:

参数名

类型

必填

说明

isTouchable

boolean

窗口是否为可触状态。true表示可触;false表示不可触。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

WindowStageEventType9+

WindowStage生命周期。

模型约束: 此接口仅可在Stage模型下使用。

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

名称

说明

FOREGROUND

1

切到前台。

ACTIVE

2

获焦状态。

INACTIVE

3

失焦状态。

BACKGROUND

4

切到后台。

WindowStage9+

窗口管理器。管理各个基本窗口单元,即​​Window​​实例。

下列API示例中都需在​​onWindowStageCreate()​​函数中使用WindowStage的实例调用对应方法。

getMainWindow9+

getMainWindow(callback: AsyncCallback<Window>): void

获取该WindowStage实例下的主窗口,使用callback异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<​​Window​​>

回调函数。返回当前WindowStage下的主窗口对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        let windowClass = null;
        windowStage.getMainWindow((err, data) => {
            if (err.code) {
                console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
                return;
            }
            windowClass = data;
            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
        });
    }
};

getMainWindow9+

getMainWindow(): Promise<Window>

获取该WindowStage实例下的主窗口,使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

返回值:

类型

说明

Promise<​​Window​​>

Promise对象。返回当前WindowStage下的主窗口对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        let windowClass = null;
        let promise = windowStage.getMainWindow();
        promise.then((data) => {
        windowClass = data;
            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
        }).catch((err) => {
            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
        });
    }
};

createSubWindow9+

createSubWindow(name: string, callback: AsyncCallback<Window>): void

创建该WindowStage实例下的子窗口,使用callback异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

name

string

子窗口的名字。

callback

AsyncCallback<​​Window​​>

回调函数。返回当前WindowStage下的子窗口对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        let windowClass = null;
        try {
            windowStage.createSubWindow('mySubWindow', (err, data) => {
                if (err.code) {
                    console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
                    return;
                }
                windowClass = data;
                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
                windowClass.resetSize(500, 1000);
            });
        } catch (exception) {
            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
        };
    }
};

createSubWindow9+

createSubWindow(name: string): Promise<Window>

创建该WindowStage实例下的子窗口,使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

name

string

子窗口的名字。

返回值:

类型

说明

Promise<​​Window​​>

Promise对象。返回当前WindowStage下的子窗口对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        let windowClass = null;
        try {
            let promise = windowStage.createSubWindow('mySubWindow');
            promise.then((data) => {
                windowClass = data;
                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
            }).catch((err) => {
                console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
            });
        } catch (exception) {
            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
        };
    }
};

getSubWindow9+

getSubWindow(callback: AsyncCallback<Array<Window>>): void

获取该WindowStage实例下的所有子窗口,使用callback异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<​​Window​​>>

回调函数。返回当前WindowStage下的所有子窗口对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        let windowClass = null;
        windowStage.getSubWindow((err, data) => {
            if (err.code) {
                console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
                return;
            }
            windowClass = data;
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
        });
    }
};

getSubWindow9+

getSubWindow(): Promise<Array<Window>>

获取该WindowStage实例下的所有子窗口,使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

返回值:

类型

说明

Promise<Array<​​Window​​>>

Promise对象。返回当前WindowStage下的所有子窗口对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        let windowClass = null;
        let promise = windowStage.getSubWindow();
        promise.then((data) => {
            windowClass = data;
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
        }).catch((err) => {
            console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
        })
    }
};

loadContent9+

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

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

path

string

设置加载页面的路径。

storage

​LocalStorage​

存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    storage : LocalStorage
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate('storageSimpleProp',121);
        console.log('onWindowStageCreate');
        try {
            windowStage.loadContent('pages/page2',this.storage,(err) => {
                if (err.code) {
                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                    return;
                }
                console.info('Succeeded in loading the content.');
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
    }
};

loadContent9+

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

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

path

string

设置加载页面的路径。

storage

​LocalStorage​

存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    storage : LocalStorage
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate('storageSimpleProp',121);
        console.log('onWindowStageCreate');
        try {
            let promise = windowStage.loadContent('pages/page2',this.storage);
            promise.then(() => {
                console.info('Succeeded in loading the content.');
            }).catch((err) => {
                console.error('Failed to load the content. Cause:' + JSON.stringify(err));
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
    }
};

loadContent9+

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

为当前WindowStage的主窗口加载具体页面内容,使用callback异步回调。

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

path

string

设置加载页面的路径。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        try {
            windowStage.loadContent('pages/page2', (err) => {
                if (err.code) {
                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                    return;
                }
                console.info('Succeeded in loading the content.');
            });
        } catch (exception) {
            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
        };
    }
};

on('windowStageEvent')9+

on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void

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

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

type

string

监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。

callback

Callback<​​WindowStageEventType​​>

回调函数。返回当前的WindowStage生命周期状态。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        try {
            windowStage.on('windowStageEvent', (data) => {
                console.info('Succeeded in enabling the listener for window stage event changes. Data: ' +
                    JSON.stringify(data));
            });
        } catch (exception) {
            console.error('Failed to enable the listener for window stage event changes. Cause:' +
                JSON.stringify(exception));
        };
    }
};

off('windowStageEvent')9+

off(eventType: 'windowStageEvent', callback?: Callback<WindowStageEventType>): void

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

模型约束: 此接口仅可在Stage模型下使用。

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

参数:

参数名

类型

必填

说明

type

string

监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。

callback

Callback<​​WindowStageEventType​​>

回调函数。返回当前的WindowStage生命周期状态。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300005

This window stage is abnormal.

示例:

import UIAbility from '@ohos.app.ability.UIAbility';

class myAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        try {
            windowStage.off('windowStageEvent');
        } catch (exception) {
            console.error('Failed to disable the listener for window stage event changes. Cause:' +
                JSON.stringify(exception));
        };
    }
};


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-window-0000001477981397-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001477981397__windowcreatewindow9​

已于2023-4-4 15:55:32修改
收藏
回复
举报
回复
    相关推荐