Andorid实现退出客户端提示
原创
©著作权归作者所有:来自51CTO博客作者lxn1615404043的原创作品,请联系作者获取转载授权,否则将追究法律责任
在很多应用程序中,我们都可以看到当用户点击返回建即将退出程序时,会弹出一个Toast提示,当我们连续快速点击两次返回键时,就会退出当前应用,下面看看是怎实现的。

方式一:
重写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;
}