参考郭霖的《第一行代码》里面提到的 随时随地退出程序 79页,代码不是很复杂但是确实很常用写下来给大家看看
//新建一个 ActivityCollector 类作为活动管理器,代码如下所示:
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<Activity>();
public static void addActivity(Activity activity) {
activities.add(activity);
}
public static void removeActivity(Activity activity) {
activities.remove(activity);
}
public static void finishAll() {
for (Activity activity : activities) {
if (!activity.isFinishing()) {
activity.finish();
}
}
}
写在activity基类里面
public class BaseActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getSimpleName());
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
在act里因哟哪个
添加的时候,在activity的onCreat()里
ActivityCollector.addActivity(this);
在Act需要移除的情况,可以在onStop()周期里添加(操作时机看个人需求),离开页面的时候
ActivityCollector.removeActivity(this);
ActivityCollector.finishAll(this);