在HomeAbility里面添加了如下代码,来实现返回到后台不销毁进程的效果
onBackPressed(): boolean
{
return true
}
同时在APP首页MainPage添加了onBackPress方法的拦截(MainPage内创建Tabs来加载各tab模块)
onBackPress() {
let currentTime = systemDateTime.getTime(false)
if (currentTime - this.backTime > 2000) {
Toast.show('再按一次返回键退出!')
this.backTime = currentTime
return true // 添加 return true 可以拦截页面的系统返回事件
}
return false
}
操作一:冷启动打开APP什么都不做的情况下,侧滑会直接执行HomeAbility内的onBackPressed,APP退到后台了。
操作二:冷启动打开APP点击任意页面后(比如切换任意tab),在MainPage侧滑会先执行MainPage的onBackPress,走return false后执行HomeAbility的onBackPressed。
onBackPress:当用户点击返回按钮时触发,仅@Entry装饰的自定义组件生效。返回true表示页面自己处理返回逻辑,不进行页面路由;返回false表示使用默认的路由返回逻辑,不设置返回值按照false处理。https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...