当我们点击返回键时,Activity会调用onBackPressed()方法,这时,我们只用重新onBackPressed()方法方法就行。
private boolean b = true;
@Override
public void onBackPressed() {
//起始时b为true。按一次,b置为false,一秒后重新置为true;
//当b为false时,调用super.onBackPressed();
if (b) {
//ToastUtils是自己定义的一个Toast工具类
ToastUtils.showToast(this, "再次點擊退出!");
b = false;
//设置1000后,b复制为true
new Timer().schedule(new TimerTask() {
@Override
public void run() {
b = true;
}
}, 1000);
} else {
super.onBackPressed();
}
}
或者,我们还有可以重写onKeyDown方法。
private boolean b = true;
//覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
if (b) {
ToastUtils.showToast(this, "再次點擊退出!");
b = false;
new Timer().schedule(new TimerTask() {
@Override
public void run() {
b = true;
}
}, 1000);
} else {
//退出Activity
finish();
}
return true;
}
return false;