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