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

被折叠的 条评论
为什么被折叠?



