方法一
private static Boolean isExit = false; Timer tExit = new Timer(); MyTimerTask task; class MyTimerTask extends TimerTask{ public void run() { isExit = false; } } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if(isExit == false ) { isExit = true; Toast.makeText(this, "再按一次后退键退出应用程序", Toast.LENGTH_SHORT).show(); if(task!=null) task.cancel(); // 将原任务从队列中移除 task = new MyTimerTask(); // 新建一个任务 tExit.schedule(task, 2000); } else { finish(); System.exit(0); } } return false; }方法二
</pre><pre name="code" class="java">private long exitTime = 0;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次后退键退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
//退出代码
}
return true;
}
return super.onKeyDown(keyCode, event);
}