鸿蒙 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了。有兴趣的同学可以拷贝代码自己尝试一下。 最后呢 希望我都文章能帮助到各位同学工作和学习 如果你觉得文章还不错麻烦给我三连 关注点赞和转发 谢谢

相关推荐
Lanren的编程日记13 小时前
Flutter鸿蒙应用开发:数据加密功能实现实战,全方位保护用户隐私数据
flutter·华为·harmonyos
想你依然心痛13 小时前
HarmonyOS 6健康应用实战:基于悬浮导航与沉浸光感的“光影律动“智能健身系统
华为·harmonyos·悬浮导航·沉浸光感
weitingfu15 小时前
AI 游戏,为什么更适合鸿蒙?
人工智能·游戏·华为·ai·harmonyos
木斯佳15 小时前
鸿蒙开发入门指南:鸿蒙canvas实操——快速掌握自定义图表组件
harmonyos·自定义图表
光锥智能16 小时前
华为MateBook 14 鸿蒙版发布,体验全面升维
华为·harmonyos
UnicornDev16 小时前
【HarmonyOS 6】练习记录页面 UI 设计
ui·华为·harmonyos·arkts·鸿蒙
浮芷.17 小时前
生命科学数据视界防御:基于鸿蒙Flutter陀螺仪云台与三维体积光栅的视轴锁定架构
flutter·华为·架构·开源·harmonyos·鸿蒙
浮芷.17 小时前
微观搜打撤:基于鸿蒙flutter的内存快照算法的局内外状态隔离与高阶背包系统设计
算法·flutter·华为·开源·harmonyos·鸿蒙
浮芷.17 小时前
东方修仙模拟器:基于 鸿蒙Flutter 状态机与 CustomPainter 的境界跃升与天劫渲染架构
科技·flutter·华为·架构·开源·harmonyos·鸿蒙
民乐团扒谱机17 小时前
基于ArkTS与端云协同的鸿蒙智慧校园助手——项目报告(AIGC预警⚠️)
华为·aigc·harmonyos