Android 实现 “再按一次退出” 功能的实现学习

本文介绍两种实现Android应用中“再按一次退出”功能的方法:一是重写onKeyDown方法监测Back按键,通过记录两次按键时间间隔来判断;二是重写onBackPressed方法直接监听Back按键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 实现  “再按一次退出” 功能的实现

第一种方式:
重写  public boolean onKeyDown(int keyCode, KeyEvent event) 方法

具体代码如下:

private  long touchTime = 0;  //第1次 按下Back 键间隔时间
private  long waitTime = 2000; //2 次Back 键间隔时间

@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
			long currentTime = System.currentTimeMillis();
			if((currentTime - touchTime) >= waitTime){  //2次按下 Back 键时间超过 2000ms
				Toast.makeText(MainActivity.this,"再按一次退出",Toast.LENGTH_SHORT).show();
				touchTime = System.currentTimeMillis();  //重置第一次按下时间	
			}else{
				finish();   //结束当前Activity
				System.exit(0);  
			}
			return true;
		}
		return super.onKeyDown(keyCode, event);
	}

参考:http://www.cnblogs.com/jxgxy/archive/2012/08/23/2653404.html



第二种方式:
              重写 public void onBackPressed()方法直接监听Back键

参考  http://blog.youkuaiyun.com/ldj299/article/details/7574365


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值