标签:
用户退出应用前给出一个提示是很有必要的,之前同事写的是再按一次直接退回到桌面,这样写其实不太好,有时用户不想直接退回到桌面,而是想退回到进入这个应用之前的程序,之前因为公司要求在“亿业税务APP”点击按钮之后跳转到另一个“超级网银”APP,如果用户未安装则提示用户安装,如果用户已安装则跳转到这个APP。由于之前同事在“超级网银”这个APP里面写的是再按一次直接退回到桌面,代码如下所示:
1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3 if (keyCode == KeyEvent.KEYCODE_BACK) { 4 exit(); 5 return false; 6 } else { 7 return super.onKeyDown(keyCode, event); 8 } 9 } 10 11 public void exit(){ 12 if (!isExit) { 13 isExit = true; 14 Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); 15 mHandler.sendEmptyMessageDelayed(0, 2000); 16 } else { 17 Intent intent = new Intent(Intent.ACTION_MAIN); 18 intent.addCategory(Intent.CATEGORY_HOME); 19 startActivity(intent); 20 System.exit(0); 21 } 22 }
这样做的话,当“超级网银”退出后就直接退回到桌面了,而不是退回到上个应用(亿业税务APP),在经过网上一番搜索之后,找到了解决的办法:
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/shizxq/p/4620654.html