1、通过Timer延时
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK)
{
Timer timer = null;
if(!exit)
{
exit= true;
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
exit = false;
}
}, 2000);
}else{
finish();
System.exit(0);
}
return false;
}
}
private boolean exit= false;
2、通过时间差
private long firstPressTime = 0;
@Override
public void onBackPressed() {
long now = System.currentTimeMillis();
if((now - firstPressTime) > 2000)
{
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
firstPressTime = now;
}else
{
finish();
System.exit(0);
}
}