使用自定义的类管理 Activity 列表,然后,在需要的地方,通过自定义类提供的接口,结束所有的 Activity:
import android.app.Activity;
import java.util.ArrayList;
import java.util.List;
/**
* Created by ZhaoDongshuang on 17-12-27.
*/
public class ActivitiesList {
private static List<Activity> activitiesList = new ArrayList<>();
public static void add(Activity activity) {
activitiesList.add(activity);
}
public static void remove(Activity activity) {
activitiesList.remove(activity);
}
public static void finishAll() {
for (Activity activity : activitiesList) {
if (!activity.isFinishing()) {
activity.finish();
}
}
}
}
ActivitiesList 类中列表数据的维护,可以通过在 Activity 的 onCreate 和 onDestroy 方法中加入相应的调用来完成:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActivitiesList.add(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivitiesList.remove(this);
}
这样我们就可以在需要的位置调用:
ActivitiesList.finishAll();
来实现随时退出程序的目标。