Android如何实现双击返回键退出应用
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍了Android如何实现双击返回键退出应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实现第一种办法响应Activi
千家信息网最后更新 2025年02月02日Android如何实现双击返回键退出应用
这篇文章主要介绍了Android如何实现双击返回键退出应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
实现
第一种办法
响应Activity的 onKeyUp事件,两次点击时间大于2秒钟就不响应,小于2秒钟就退出程序 代码:
//记录用户首次点击返回键的时间 private long firstTime = 0; /** * 第一种解决办法 通过监听keyUp * @param keyCode * @param event * @return */ @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { long secondTime = System.currentTimeMillis(); if (secondTime - firstTime > 2000) { Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); firstTime = secondTime; return true; } else { System.exit(0); } } return super.onKeyUp(keyCode, event); }
第二种办法
和第一种办法一样,这不过这次响应onKeyDown事件 代码:
/** * 第二种办法 * @param keyCode * @param event * @return */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { long secondTime = System.currentTimeMillis(); if (secondTime - firstTime > 2000) { Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); firstTime = secondTime; return true; } else { System.exit(0); } } return super.onKeyDown(keyCode, event); }
第三种办法
直接重写onBackPressed()方法 代码:
/** * 第三种方法 */ @Override public void onBackPressed() { long secondTime = System.currentTimeMillis(); if (secondTime - firstTime > 2000) { Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); firstTime = secondTime; } else { System.exit(0); }
第四种办法
通过线程延时的办法实现,借助Timer 代码:
/** * 第四种方法 */ @Override public void onBackPressed() { if (!mBackKeyPressed) { Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); mBackKeyPressed = true; new Timer().schedule(new TimerTask() { @Override public void run() { mBackKeyPressed = false; } }, 2000); } else { this.finish(); System.exit(0); } }
第五种办法
在onKeyUp()方法内使用Timer
/** * 第五种办法 * @param keyCode * @param event * @return */ @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { if (!mBackKeyPressed) { Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); mBackKeyPressed = true; new Timer().schedule(new TimerTask() { @Override public void run() { mBackKeyPressed = false; } }, 2000); return true; } else { this.finish(); System.exit(0); } } return super.onKeyUp(keyCode, event); }
第六种办法
在onKeyDown()方法内使用Timer
/** * 第六种办法 * @param keyCode * @param event * @return */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if (!mBackKeyPressed) { Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); mBackKeyPressed = true; new Timer().schedule(new TimerTask() { @Override public void run() { mBackKeyPressed = false; } }, 2000); return true; } else { this.finish(); System.exit(0); } } return super.onKeyDown(keyCode, event); }
感谢你能够认真阅读完这篇文章,希望小编分享的"Android如何实现双击返回键退出应用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
办法
程序
方法
代码
篇文章
应用
事件
时间
这不
价值
兴趣
同时
更多
朋友
用户
知识
线程
编带
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上网卡网络安全吗
链接服务器 别名
计算机网络技术专业环境分析
光学分析软件开发
大数据时代的软件开发模型
济南招聘软件开发员
群发会不会破坏腾讯服务器
苹果格式化无法联系服务器
dell服务器内存无法识别
先健互联网科技
不可在软件更新服务器
杭州微甜网络技术有限公司
天健源达软件开发发展空间
杭州碧橙网络技术官网
融媒体中心网络安全应急演练方案
软件开发结构
什么是网络安全思维
网络安全人员的职业道德
intel上海软件开发大会
订票都有什么软件开发
上海服务软件开发教育
吉林互联网软件开发诚信服务
软件开发银行领域的专业名词
实况足球18数据库
互联网医院网络科技有限公司
云服务器哪家便宜能用来干嘛
常州网络营销软件开发销售价格
负责与数据库建立连接
网络安全反思及改进
西北工业网络安全博士