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

相关推荐
菜鸟不学编程8 分钟前
鸿蒙中的 AR/VR 开发与场景创建
ar·vr·harmonyos
Swift社区1 小时前
鸿蒙应用上架流程经验
华为·harmonyos
@不误正业2 小时前
OpenHarmony集成AI Agent实战:打造鸿蒙智能助理
人工智能·华为·harmonyos
弓.长.6 小时前
ReactNative for OpenHarmony项目鸿蒙化三方库:react-native-netinfo — 网络状态检测
网络·react native·harmonyos
弓.长.6 小时前
ReactNative for OpenHarmony项目鸿蒙化三方库:react-native-network-info — 网络信息获取
网络·react native·harmonyos
弓.长.6 小时前
ReactNative for OpenHarmony项目鸿蒙化三方库:react-native-image-crop-picker — 图片选择裁剪组件
react native·react.js·harmonyos
讯方洋哥18 小时前
HarmonyOS App开发——鸿蒙ArkTS基于首选项引导页的集成和应用
华为·harmonyos
左手厨刀右手茼蒿1 天前
Flutter 三方库 all_lint_rules_community 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、基于全量社区 Lint 规则的工业级静态代码质量与安全审计引擎
flutter·harmonyos·鸿蒙·openharmony·all_lint_rules_community
雷帝木木1 天前
Flutter for OpenHarmony:Flutter 三方库 cbor 构建 IoT 设备的极致压缩防窃协议(基于标准二进制 JSON 表达格式)
网络·物联网·flutter·http·json·harmonyos·鸿蒙
王码码20351 天前
Flutter 三方库 servicestack 的鸿蒙化适配指南 - 实现企业级 Message-based 架构集成、支持强类型 JSON 序列化与跨端服务调用同步
flutter·harmonyos·鸿蒙·openharmony·message-based