HarmonyOS 在一个HSP模块中的Component中如何监听系统返回键和Navigation的返回事件

在一个HSP模块中的Component中如何监听系统返回键和Navigation的返回事件

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

参考demo:

import { PageOneTmp } from './PageOne'
import { pageTwoTmp } from 'library'
import { Pages } from 'library'

@Entry
@Component
struct NavigationExample {
  @Provide('pageInfos') pageInfos: NavPathStack = new NavPathStack()

  onPageShow(): void {
    console.log('Navigation Index show')
  }

  onPageHide(): void {
    console.log('Navigation Index hide')
  }

  @Builder
  PageMap(name: string) {
    if (name === 'pageOne') {
      PageOneTmp()
    } else if (name === 'pageTwo') {
      pageTwoTmp({ names: name, values: this.pageInfos } as Pages)
    }
  }

  build() {
    Navigation(this.pageInfos) {
      Column() {
        Button('pushPath', { stateEffect: true, type: ButtonType.Capsule })
          .width('80%')
          .height(40)
          .margin(20)
          .onClick(() => {
            this.pageInfos.pushPath({
              name: 'pageOne'
            })
            // 将name指定的NavDestination页面信息入栈
          })
      }
    }
    .hideNavBar(true)
    .onNavBarStateChange((flag: boolean) => {
      if (flag) {
        console.log('Navigation Index change,now is show')
      } else {
        console.log('Navigation Index change,now is hide')
      }
    }).title('NavIndex').navDestination(this.PageMap)
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS page如何获取返回事件
443浏览 • 1回复 待解决
如何屏蔽系统返回
436浏览 • 1回复 待解决
HarmonyOS 物理返回监听
56浏览 • 1回复 待解决
HarmonyOS 返回强制监听及重写
864浏览 • 1回复 待解决
HarmonyOS RN如何拦截返回事件
77浏览 • 1回复 待解决
HarmonyOS 如何返回一个颜色?
290浏览 • 1回复 待解决
如何监听系统应用异常
1681浏览 • 1回复 待解决