用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个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 }

 

posted on 2014-10-12 22:06  xuan轩  阅读(348)  评论(0编辑  收藏  举报