鸿蒙 next 实现虚拟返回键杀死进程关闭app

前言导读:

各位同学大家好好,最近更新文章频率不是很高啊 今天给大家带来 鸿蒙 next 实现虚拟返回键杀死进程关闭app 我们先看效果图:

作者:徐庆

团队:坚果派 公众号:"大前端之旅" 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟悉服务卡片开发。欢迎合作。

效果图

看到效果 我们可以类比安卓的返回键的一个情况 我们需要重写返回键的回调方法。所以我们在鸿蒙next中实现此类效果也要在我们生命周期方法里面去实现

生命整体流程

home键去到后台

点击返回键退出应用

点击多任务键杀死进程

如果不清楚的也可以可以去查看我们之前的文章 生命周期 今天我们就主要讲一下今天的案例需要 监听我们的 onBackPress() 方法

首先我们先定义一个 变量backTime 默认是0

ini 复制代码
private  backTime:number=0;

onBackPress()方法体实现

kotlin 复制代码
onBackPress(): boolean | void {
 let nowtime= Date.now();
 if(nowtime-this.backTime<1000){
   const mContext = getContext(this) as common.UIAbilityContext
   mContext.terminateSelf();
 }else {
   this.backTime=nowtime;
   this.showToast("再按一次将退出当前应用")
 }
return true;
}

我们使用当前时间 nowtime 减去我们的backTime 如果小于1000毫秒 我们就杀死app 通过调用不过 mContext.terminateSelf() 关闭app 如果是时间差不超过1秒 就证明只点击返回一次 我们就将 this.backTime=nowtime 重新赋值 如果再次点击时间差超过 1秒 然后提示再次点击就可以退出app 要是小于1秒 就关闭app

最后总结:

整个案例比较简单,我们也是要先熟悉我们的生命周期整个流程然后配合点击时间和当前时间的时间差来实现 返回键杀死app 然后加上了提示 也不会让用户误操作直接退出app了。有兴趣的同学可以拷贝代码自己尝试一下。 最后呢 希望我都文章能帮助到各位同学工作和学习 如果你觉得文章还不错麻烦给我三连 关注点赞和转发 谢谢

相关推荐
进击的圆儿3 小时前
鸿蒙应用(医院陪诊系统)开发篇1·主页面的tabs布局
华为·harmonyos
冯志浩3 小时前
HarmonyOS - 组件内部状态管理装饰器:Local
harmonyos·掘金·金石计划
Huang兄5 小时前
鸿蒙-http 和 rcp 抓包,应该如何配置?
harmonyos·arkts·arkui
环信即时通讯云7 小时前
实战|使用环信Flutter SDK构建鸿蒙HarmonyOS应用及推送配置
flutter·华为·harmonyos
_waylau7 小时前
【HarmonyOS NEXT+AI】问答 03:找不到 DevEco Studio Cangjie Plugin 下载链接?
华为·开源·harmonyos·仓颉
别说我什么都不会7 小时前
【仓颉三方库】 数据库驱动——mysqlclient-ffi
harmonyos
__Benco8 小时前
OpenHarmony - 小型系统内核(LiteOS-A)(七)
人工智能·harmonyos
少年的云河月9 小时前
OpenHarmony Camera开发指导(四):相机会话管理(ArkTS)
harmonyos·相机·openharmony·camera
鸿蒙布道师10 小时前
鸿蒙NEXT开发图片相关工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
梦想不只是梦与想10 小时前
鸿蒙系统开发中路由使用详解
华为·harmonyos·鸿蒙