用户退出应用前给出一个提示是颇有必要的,由于多是用户并不真的想退出,而只是一不当心按下了返回键,大部分应用的作法是在应用退出去前给出一个Dialog,我以为这样不太友好,用户还得移动手指去按dialog中的按钮。我的以为“再按一次返回键退出程序”是best practice,实现也很简单,直接上代码:ide
1 private long exitTime = 0; 2 3 @Override 4 public boolean onKeyDown(int keyCode, KeyEvent event) { 5 if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ 6 if((System.currentTimeMillis()-exitTime) > 2000){ 7 Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); 8 exitTime = System.currentTimeMillis(); 9 } else { 10 finish(); 11 System.exit(0); 12 } 13 return true; 14 } 15 return super.onKeyDown(keyCode, event); 16 }