您的位置:首页 > 移动开发 > Android开发

Android连续点击两次Back键退出程序

2014-12-12 17:35 489 查看
思路1:记录上次点击的时间,与本次点击的时间比较,当两次时间间隔小于一定值时,退出,否则提示“再按一次退出程序”,同时更新上次点击时间

[java] view
plaincopy

private long firstTime = 0;

@Override

public boolean onKeyUp(int keyCode, KeyEvent event) {

// TODO Auto-generated method stub

switch(keyCode)

{

case KeyEvent.KEYCODE_BACK:

long secondTime = System.currentTimeMillis();

if (secondTime - firstTime > 2000) { //如果两次按键时间间隔大于2秒,则不退出

Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();

firstTime = secondTime;//更新firstTime

return true;

} else { //两次按键小于2秒时,退出应用

System.exit(0);

}

break;

}

return super.onKeyUp(keyCode, event);

}

思路2:开线程延时处理

[java] view
plaincopy

private int mBackKeyPressedTimes = 0;

@Override

public void onBackPressed() {

if (mBackKeyPressedTimes == 0) {

Toast.makeText(this, "再按一次退出程序 ", Toast.LENGTH_SHORT).show();

mBackKeyPressedTimes = 1;

new Thread() {

@Override

public void run() {

try {

Thread.sleep(2000);

} catch (InterruptedException e) {

e.printStackTrace();

} finally {

mBackKeyPressedTimes = 0;

}

}

}.start();

return;

else{

this.activity.finish();

}

}

super.onBackPressed();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: