这里是郭霖大神的《第一行代码》里面提到的 随时随地退出程序 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();
}
}
}
}
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);
}
}
写在activity基类里面 ,当这个类退出了就把这个类移除list集合里面,如果要退出当前所有activity(退出程序),点击事件里面写 ActivityCollector.finishAll();就可以了