//监听back键状态,是否点击2次
private boolean isAppExit = false;
监听按键
/**
* 监听back键退出应用
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
AppExit();
}
return false;
}
public void AppExit() {
if (!isAppExit) {
isAppExit = true;
Toast.makeText(this, R.string.app_alert_close_app, Toast.LENGTH_LONG)
.show();//提示再按一次back退到后台
handler.sendEmptyMessageDelayed(111, 2000);
} else {// 2s内再次按back时,isExit= true,执行以下操作,app退出
//
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
}
}
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch(msg.what) {
case 111:
isAppExit = false;
break;
}
}
};