1、退出應用程序工具類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | public class ExitAPPUtils extends Application { private List activityList = new LinkedList(); private static ExitAPPUtils instance; private ExitAPPUtils() { } // 單例模式中獲取唯一的ExitAPPUtils實例 public static ExitAPPUtils getInstance() { if ( null == instance) { instance = new ExitAPPUtils(); } return instance; } // 添加Activity到容器中 public void addActivity(Activity activity) { activityList.add(activity); } // 遍歷所有Activity並finish public void exit() { for (Activity activity : activityList) { activity.finish(); } System.exit( 0 ); } }</activity></activity> |
2、使用方法
在每個Activity的onCreate方法裏添加如下代碼
1 | ExitAPPUtils.getInstance().addActivity( this ); |
3、退出代碼,放到需要退出的Activity中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public boolean onKeyDown( int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ if ((System.currentTimeMillis()-exitTime) > 2000 ){ ToastUtils.show(getApplicationContext(), R.string.exit_hint); exitTime = System.currentTimeMillis(); } else { ExitAPPUtils.getInstance().exit(); //finish(); //System.exit(0); } return true ; } return super .onKeyDown(keyCode, event); } } |