有时候我们需要连续打开多个Activity,但是要在某一个时刻同时关闭,或者是在
A
Activity
里面关闭
B Activity
,这时候就需要这两个工具类啦
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base02);
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
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();
}
}
}
}
将需要关闭的类继承BaseActivity, 关闭一个类的时候调用
要关闭所有的类时调用removeActivity(Activity activity)
finishAll()