#鸿蒙通关秘籍#鸿蒙应用悬浮窗路由问题解决方法

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
编程小行家

悬浮窗和主窗口的路由是独立的,为了在悬浮窗中触发主窗口的路由跳转,可以使用事件总线。具体步骤如下:

  1. 在悬浮窗中发送事件

    TapGesture({ count: 1 })
      .onAction(() => {
          this.context.eventHub.emit("event_click_float");
      })
    
  2. 在EntryAbility订阅事件

    onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
        eventHub.on("event_click_float", () => {
            if (this.mainRouter) {
                this.mainRouter.pushUrl(...);
            }
        })
    }
    
  3. 获取主窗口Router

    windowStage.loadContent('pages/Index', (err, data) => {
        this.mainRouter = this.windowClass!.getUIContext().getRouter();
    });
    

通过上述步骤,可以实现在悬浮窗中触发主窗口的页面路由。

分享
微博
QQ
微信
回复
2天前
相关问题
webview中跨域问题解决方案
2521浏览 • 1回复 待解决
背景色透明度问题解决方案
504浏览 • 1回复 待解决
HarmonyOS 支付报错,求解决方法
217浏览 • 1回复 待解决
无法创建签名,求解决方法
192浏览 • 1回复 待解决
RN SDK升级报错,求解决方法
91浏览 • 1回复 待解决
横屏应用如何适配华为悬浮?
2561浏览 • 1回复 待解决
屏幕宽高如何获取 ,求解决方法
1633浏览 • 1回复 待解决
基于子窗口实现应用悬浮
695浏览 • 1回复 待解决
HarmonyOS有没有悬浮组件或者库
365浏览 • 1回复 待解决
使用悬浮和端内want唤醒APP
860浏览 • 1回复 待解决