您的位置:首页 > 移动开发 > Android开发

Android之退出应用关闭项目每个Activity的总结

2015-11-18 23:03 471 查看

思路

我们先封装好一个类叫MyApplication这个类,把这个类设置为单例模式,只有一个对象,然后在这个类里面写一个能装Activity的集合,相当于一个栈,然后每次有activity的时候,就去压进栈,当我要退出应用程序的时候,我们就把不为空的Activity都finish()掉,然后再杀死进程。

好了,爆我们的MyApplication这个类的代码
public class MyApplication {
public static final String TAG = MyApplication.class.getSimpleName();

private static MyApplication instance = new MyApplication();

List<Activity> activities = new ArrayList<>(); // 整个应用栈中存在的Activity

public static MyApplication getInstance() {
return instance;
}

private  MyApplication() {
}

// 退出应用
public void exitApplication(Context mContext) {
CommonLog.i(mContext.getString(R.string.exit_appliaction));
for (Activity activity : activities) {
if (activity != null) {
activity.finish();
}
}
AppController.getInstance(mContext).getRequestQueue().cancelAll(AppController.COMMON_REQUEST_TAG);
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
}

public void addToApplicationActivityStack(Activity activity) {
this.activities.add(activity);
}
}


在需要继承的Activity里面创建对象
protected MyApplication mMyApplication = MyApplication.getInstance();


每次创建一个Activity的时候在oncreate里面写上
mMyApplication.addToApplicationActivityStack(this);


退出就调用
mMyApplication.exitApplication()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: