Android 双击返回键退出程序的方法总结
发布时间 - 2026-01-11 01:45:02 点击率:次Android 双击返回键退出程序的方法总结

下面先说说LZ思路,具体如下:
1. 第一种就是根据用户点击俩次的时间间隔去判断是否退出程序;
2. 第二种就是使用Android中计时器(Timer),其实这俩种都差不多.
思路是有了,,,接下来要怎么开搞呢???用户点击肯定会触发相应的事件,,,我们先来看下面俩个事件的作用。。。
Activity.onKeyDown();
当某个键被按下时会触发,但不会被任何的该Activity内的任何view处理。
默认按下KEYCODE_BACK键后会回到上一个Activity。
Activity.onKeyUp():
当某个按键被按下,松开后触发,但不会被任何的该Activity内的任何view处理。
默认没有执行任何操作,只是简单的给一个false作为返回值。
So,,,接下来分别使用如上俩个方法干掉这个当年的拦路虎~
One Way:onKeyUp()
//--------------使用onKeyUp()干掉他--------------
//记录用户首次点击返回键的时间
private long firstTime=0;
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode){
case KeyEvent.KEYCODE_BACK:
long secondTime=System.currentTimeMillis();
if(secondTime-firstTime>2000){
Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyUp",Toast.LENGTH_SHORT).show();
firstTime=secondTime;
return true;
}else{
System.exit(0);
}
break;
}
return super.onKeyUp(keyCode, event);
}
Two Way:onKeyDown()
//--------------使用onKeyDown()干掉他--------------
//记录用户首次点击返回键的时间
private long firstTime=0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){
if (System.currentTimeMillis()-firstTime>2000){
Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyDown",Toast.LENGTH_SHORT).show();
firstTime=System.currentTimeMillis();
}else{
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
Three Way:Timer
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
exitByDoubleClick();
}
return false;
}
private void exitByDoubleClick() {
Timer tExit=null;
if(!isExit){
isExit=true;
Toast.makeText(MainActivity.this,"再按一次退出程序--->Timer",Toast.LENGTH_SHORT).show();
tExit=new Timer();
tExit.schedule(new TimerTask() {
@Override
public void run() {
isExit=false;//取消退出
}
},2000);// 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务
}else{
finish();
System.exit(0);
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# 双击返回键退出程序
# 双击退出程序的方法
# Android 单双击实现的方法步骤
# Android实现双击返回键退出应用实现方法详解
# Android双击事件拦截方法
# Android使用PhotoView实现图片双击放大单击退出效果
# Android 双击Back键退出应用的实现方法
# Android实现双击TitleBar回顶部的功能示例代码
# Android 在viewPager中双指缩放图片双击缩放图片单指拖拽图片的实现思路
# Android中双击返回键退出应用实例代码
# Android 高仿微信朋友圈动态支持双击手势放大并滑动查看图片效果
# Android 自定义View实现单击和双击事件的方法
# Android 屏幕双击事件的捕获简单示例
# Android 实现双击退出的功能
# Android App中实现可以双击放大和缩小图片功能的实例
# Android实现ImageView图片双击放大及缩小
# Android双击退出的实现方法
# Android双击返回键退出程序的实现方法
# 使用python编写android截屏脚本双击运行即可
# Android开发实现控件双击事件的监听接口封装类
# 按下
# 再按
# 首次
# 计时器
# 希望能
# 双击
# 谢谢大家
# 后会
# 第二种
# 第一种
# 返回值
# 判断是否
# 这俩
# 当年
# 先说说
# 肯定会
# 都差不多
# KEYCODE_BACK
# class
# brush
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
大学网站设计制作软件有哪些,如何将网站制作成自己app?
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
制作旅游网站html,怎样注册旅游网站?
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
如何在香港服务器上快速搭建免备案网站?
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
如何快速使用云服务器搭建个人网站?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
EditPlus 正则表达式 实战(3)
Linux系统运维自动化项目教程_Ansible批量管理实战
如何确保FTP站点访问权限与数据传输安全?
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
如何将凡科建站内容保存为本地文件?
如何快速搭建自助建站会员专属系统?
,交易猫的商品怎么发布到网站上去?
深圳网站制作平台,深圳市做网站好的公司有哪些?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
个人网站制作流程图片大全,个人网站如何注销?
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
如何在万网主机上快速搭建网站?
制作电商网页,电商供应链怎么做?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
北京企业网站设计制作公司,北京铁路集团官方网站?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
用yum安装MySQLdb模块的步骤方法
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
javascript读取文本节点方法小结
Laravel如何实现文件上传和存储?(本地与S3配置)
如何快速登录WAP自助建站平台?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程

