HarmonyOS window之间的关系和如何监听window的创建

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-window-stage-V5

根据窗口window的相关api,应用可以通过WindowStage.createSubWindow、window.create、window.createWindow来创建窗口和子窗口。下列问题请教一下:

1、WindowStage.getMainWindow获取的window和以上接口创建的window是什么关系?

2、请问应用如何监听的window的创建,以及如何获取到这些app自主创建的窗口实例?

3、如何获取到应用当前最上层的窗口实例?(子窗口也包含),据测试,window.getLastWindow()获取的是mainWindow,即使当前有通过window.createWindow创建的window覆盖在上面,getLastWindow获取到也不是最上层的刚创建的window实例。

4、WindowStage.getMainWindow的实例设置setWindowPrivacyMode(true),通过前面提到的创建window的接口创建的window也会被禁止截屏,在新创建的window下设置setWindowPrivacyMode(false)无效。请问mainWindow和创建的window之间的privacyMode是怎么互相影响的?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

MainWindow:应用主窗口;SubWindow子窗,systemWindow:系统类型窗口

1、SubWindow&MainWindow:父子关系,SubWindow跟随父窗口的生命周期显示隐藏,也有自己独立的显示隐藏生命周期;

window.CreateWindow& Window.Create,是新老接口,Create应该已经在废弃流程中;

window.CreateWindow 一般目前创建的都是系统类型窗口(systemWindow),如dialog,floatWindow(手机受限)。一般systemWindow有

它的特性,比如dialog是模态窗口会吞噬主窗口的所有点击事件,和主窗口有父子绑定关系,FloatWindow是悬浮窗类型。

一般来说systemWindow和MainWindow生命周期相互独立(dialog除外),只有进程是相同这一层关系,即进程销毁,自主创建的窗口和主窗,子窗都会被销毁。

2、window创建的监听:目前没有。

窗口实例:在

window.Create(config,(window)=>{
   /// 这里自行持有;
})

window.Create自主创建的窗口都需要应用自行管理其生命周期和行为。

3、getLastWindow,只是它只查子窗和主窗, window.create创建的窗口不查询。因为system的层级可能会很高,和主窗本身也没有绑定关系。

4、两者不相互影响,这个标记是对单独一个窗口进行标记的。但是这个隐私属性会传递给屏幕管理,那边是统一管理的。比如,mainWindow和subWindow都是设置privacy,

屏幕那边记录privacy = true; subWindow取消后,由于mainWindow还保持,那屏幕那边还会保持true.

所以这里设置false无效

分享
微博
QQ
微信
回复
1天前
相关问题
如何监听window大小变化
552浏览 • 1回复 待解决
window.on监听方法使用
355浏览 • 1回复 待解决
如何创建一个window
354浏览 • 1回复 待解决
HarmonyOS 创建window失败,返回1300002
96浏览 • 1回复 待解决
HarmonyOS 如何获取appwindow
18浏览 • 1回复 待解决
windowloadContentByName方法
2275浏览 • 1回复 待解决
HarmonyOS window重名方法调用
32浏览 • 1回复 待解决
如何获取主窗口window宽度
2026浏览 • 1回复 待解决
HarmonyOS 底部横条window路由问题
76浏览 • 1回复 待解决
如何获取当前window窗口方向
470浏览 • 1回复 待解决
Window窗口生命周期问题
352浏览 • 1回复 待解决
HarmonyOSwindow怎么设置固定宽高
1839浏览 • 1回复 待解决
window版本项目跑不起来
244浏览 • 1回复 待解决
greenplumpostgresql之间是什么关系
4043浏览 • 1回复 待解决
window获取屏幕方向配置
477浏览 • 1回复 待解决
window 安装 Docker问题有知道吗?
2424浏览 • 1回复 待解决