在很多应用程序中,我们都可以看到当用户点击返回建即将退出程序时,会弹出一个Toast提示,当我们连续快速点击两次返回键时,就会退出当前应用,下面看看是怎实现的。

Andorid实现退出客户端提示_ide

方式一:
重写onBackPressed()方法,放我们按下返回键的时候,此方法会被触发。

long firstTime = 0;
@Override
public void onBackPressed() {
//必须注释掉,否则会执行系统默认的动作,直接退出activity
// super.onBackPressed();
long secondTime = System.currentTimeMillis();
if(secondTime - firstTime>1500){
firstTime = secondTime;
Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
}else{
finish();
}
}

或者

@Override
public void onBackPressed() {
if(flag){
finish();
}else{
Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_SHORT).show();
flag = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
flag = false;
}
}, 1500);
}
}

方式二:
重写onKeyDown方法

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
long secondTime = System.currentTimeMillis();
if (secondTime - firstTime <= 1500) {
finish();
} else {
Toast.makeText(MainActivity.this, "再按一次退出程序",
Toast.LENGTH_SHORT).show();
firstTime = secondTime;
}
}
return true;
}