Android再按一次完全退出程式程式碼
阿新 • • 發佈:2018-12-31
如需轉載請標明出處:http://blog.csdn.net/itas109
QQ技術交流群:129518033
前言:
前面使用的退出程式用的是finish(),它只能退出當前Activity。如果Activity一多就不能一次性退出了。
1、退出應用程式工具類
/** * * @author itas109 * TODO 用於完全退出應用程式 */ public class ExitAPPUtils extends Application { private List<Activity> activityList = new LinkedList<Activity>(); 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); } }
2、使用方法
在每個Activity的onCreate方法裡新增如下程式碼
ExitAPPUtils.getInstance().addActivity(this);
3、實現再按一次完全退出效果
定義時間
private long exitTime = 0;
退出程式碼,放到需要退出的Activity中。
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); } }
4、效果圖
如需轉載請標明出處:http://blog.csdn.net/itas109
QQ技術交流群:129518033