HarmonyOS API:@ohos.window (窗口)
版本: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 | 是 | 表示规避区类型。 | |
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 | 是 | 表示规避区类型。 |
返回值:
类型 | 说明 |
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 | 是 | 导航栏、状态栏的属性。 | |
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 | 是 | 导航栏、状态栏的属性。 |
返回值:
类型 | 说明 |
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 | 是 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 | |
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 | 否 | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
返回值:
类型 | 说明 |
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));
};
}
};