写一个 android APP,如果每次按下手机返回键,就会直接退出APP,这效果明显很糟糕(不小心会经常触发)。
解决的办法:可以为手机返回键设置一个监听,并根据实际设计对应处理方法
例如:
在 activity 中添加返回监听并设置方法,触发一次则弹出消息提示,若确定退出则再触发一次返回键。
private long exitTime = 0;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if( keyCode== KeyEvent.KEYCODE_HOME){
return true;
} else if( keyCode== KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()- exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
KEYCODE_BACK 对应触发事件:按下返回键;
ACTION_DOWN 对应触发事件:手指按下按键;
if((System.currentTimeMillis()- exitTime) > 2000)
只要两次事件触发时间差小于2秒,则退出程序。
同样的,可以对Home键设置监听(KEYCODE_HOME)