Android后退键响应事件有两种方式,
第一种是直接获取按钮点击事件,也是最常用的一种方式,直接重写Activity的onKeyDown方法即可
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Handler handler = new Handler();
if (isExit) {
finish();
} else {
isExit = true;
Toast.makeText(this, "连续点击退出应用", Toast.LENGTH_SHORT).show();
handler.postDelayed(new Runnable() {
@Override
public void run() {
isExit = false;
}
}, 2000);
}
//这里不需要执行父类的点击事件,直接return
return true;
}
//继续执行父类的其他点击事件
return super.onKeyDown(keyCode, event);
}
第二种方式是单独获取back按键的点击事件,直接重写onBackPressed()方法
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);
}
对于第一种,那里的return false,即onKeyDown的返回值,详细去看 onKeyDown()的返回值问题