用戶退出應用前給出一個提示是很有必要的,因為可能是用戶並不真的想退出,而只是一不小心按下了返回鍵,大部分應用的做法是在應用退出去前給出一個Dialog,我覺得這樣不太友好,用戶還得移動手指去按dialog中的按鈕。個人覺得“再按一次返回鍵退出程序”是best practice,實現也很簡單,直接上代碼:
private
long exitTime = 0;
@Override
public boolean onKeyDown( int keyCode, KeyEvent event) {
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);
}
@Override
public boolean onKeyDown( int keyCode, KeyEvent event) {
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);
}