HarmonyOS 用户返回操作时,如何阻止退出应用?

应用实际上就是一个web页面,所以只有一页,用户返回时,能否阻止退出应用,改为返回上一个web页。

阅读 588
1 个回答

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

//判断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
  }
}
} 

accessBackward参考文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5\#accessbackward

backward参考文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5\#backward

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