如何退出Android应用

不像iOS应用那样有统一的退出方式,Android是给用户自己退出的方式的。
网上查了查,有几个方式

  • 杀进程
  • System.exit(0)
  • 逐个删除Activity。
    这几种方式除了第3中外都只是把当前Activity清理掉了,没有考虑其他页面。
    所以我采取的方法是先逐个删除Activity,然后在exit(0)正常退出。
    用一个单例进行管理。
    不说了,我直接上代码。
public class ExitApp extends Application {
    //单例相关。
    private ExitApp() {}

    private static class InsideExitApp {
        private static final ExitApp singleton = new ExitApp();
    }

    public static final ExitApp shareExitApp() {
        return InsideExitApp.singleton;
    }

    //用来存放Activity实例
    private ArrayList activities = new ArrayList<>();

    //添加Activity
    public void addActivity(Activity activity){
        activities.add(activity);
    }

    //逐个删除Activity
    @Override
    public void onTerminate() {
        super.onTerminate();
        for(Activity activity:activities) {
            if (activity == null)continue;
            activity.finish();
        }
        System.exit(0);
    }
}

只需要在每个Activity创建之初把它添加到单例之中即可,在需要用户手动退出的时候调用onTerminate()即可。

你可能感兴趣的:(如何退出Android应用)