有时候我们需要连续打开多个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()
本文介绍了一种在Android应用中批量管理Activity的方法。通过自定义BaseActivity类及ActivityCollector工具类实现Activity的集中管理,便于在需要时批量关闭Activity,提高应用程序资源管理效率。
584

被折叠的 条评论
为什么被折叠?



