HarmonyOS 主窗口获取?

如何获取应用主窗口, 我看文档和示例代码都是通过window.WindowStage

我想在项目任何地方通过window.WindowStage获取主window, 我看文档和示例代码都是在启动时将window.WindowStage对象存储为全局对象, 作为后续全局使用.

是否有方法在任意地方拿到window.WindowStage对象, 然后通过getMainWindow获取窗口?

阅读 559
1 个回答

目前获取主窗口需要使用window.getLastWindow()或者windowStage.getMainWindowSync()获取。

在非UIAbility的拓展类中使用需要使用AppStorage将Context和windowStage传入方法中。

在被@Entry修饰的struct中可以在AboutToAppear生命周期中调用getContext(this)获取上下文对象。 window需要先获取对象属性才能获取窗口大小。

参考文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-0000001815246534-V5\#ZH-CN\_TOPIC\_0000001881258981\_\_windowproperties

getContext(this)在自定义类的使用参考文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-ability-kit-0000001769732194-V5\#section552117429309

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进