Android如何实现双击返回键退出应用
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍了Android如何实现双击返回键退出应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实现第一种办法响应Activi
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
互联网科技海报
互联网是不是新科技
善班互联网科技
互联网科技网站
深圳艾佳互联网科技
互联网科技咨询
国外互联网科技网站
蓝色互联网科技
开启互联网科技时代小说
央行互联网金融科技公司
互联网科技公司实习生
天津腾达互联网科技有限公司
云南省自由互联网科技有限公司
皮皮虾互联网科技有限公司
产业互联网科技服务公司
互联网科技资金流入
互联网科技融合创新
南京一网一红互联网科技有限公司
互联网领先科技成果宣传视频
宁波允成互联网科技有限公司
喔噻互联网科技有限公司
互联网科技公司排名
为想互联网科技怎么样
互联网科技社
北京互联网科技有限公司
火传媒上海互联网科技
互联网科技视频素材
互联网领先科技活动
同城互联网络科技
广西泛欧互联网科技有限公司