用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dialog中的按钮。个人觉得“再按一次返回键退出程序”是best practice,实现也很简单,直接上代码:
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 }
参考原文:http://www.cnblogs.com/jxgxy/archive/2012/08/23/2653404.html