HarmonyOS 返回手势目前直接退出应用,如何自定义左滑手势操作

单页应用,只有一个Web组件,希望触发左滑等手势时,返回上一页,并且在web组件的首页时,左滑两次退出应用

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

可以通过onBackPress监听返回按键,使用accessBackward()和backward()使用web组件加载h5页面若h5存在历史栈时可返回上一页,通过记录onBackPress()的调用时间间隔编写左滑两次退出逻辑,参考代码如下(代码编写在用@Entry装饰的入口组件中):

onBackPress(): boolean | void {


  console.log(`this.fbtWebviewController.accessBackward():${this.fbtWebviewController.accessBackward()}`)
//判断web页面是否可后退,
if (this.fbtWebviewController.accessBackward()) {
  //若可回退,后退一个web页面
  this.fbtWebviewController.backward();
  return true
} else {
  let currentTime = systemDateTime.getTime(false)
  console.info('Current time: ' + JSON.stringify(currentTime))
  //通过设置时间间隔来判断是否退出应用
  if (currentTime - this.exitTime > 2000) {
    this.exitTime = currentTime
    promptAction.showToast({ message: '再按一次退出应用' })
    return true
  } else {
    return false
  }
}
}
分享
微博
QQ
微信
回复
1天前
相关问题
获取返回手势方法
303浏览 • 1回复 待解决
HarmonyOS 如何禁用页面返回手势
293浏览 • 1回复 待解决
HarmonyOS 禁用滑动返回手势问题
70浏览 • 1回复 待解决
HarmonyOS 拦截系统返回手势问题
616浏览 • 1回复 待解决
HarmonyOS web组件拦截返回手势
23浏览 • 1回复 待解决
手势滑动退出HarmonyOS应用的规格
7浏览 • 1回复 待解决
HarmonyOS如何实现自定义布局内置手势
456浏览 • 0回复 待解决
HarmonyOS目前支持设置手势密码吗
9浏览 • 1回复 待解决
HarmonyOS 页面如何禁止手势返回
44浏览 • 1回复 待解决