BaseActivity - KerwinKoo/KerwinKoo.github.io GitHub Wiki

android BaseActivity主活动父类定义及实现

收集器用于收集子类activity

package activitytest.example.com.activitytest;

import android.app.Activity;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by gkq on 15-7-3.
 */
public class ActivityCollector {
    public static List<Activity> activities = new ArrayList<>();

    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 管理收集器

package activitytest.example.com.activitytest;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;


public class BaseActivity extends Activity {

    public static final String TAG = "BaseActivity";
    @Override
    protected void onCreate(Bundle savedInterfaceState) {
        super.onCreate(savedInterfaceState);

        Log.d(TAG, getClass().getSimpleName());
        ActivityCollector.addActivity(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ActivityCollector.removeActivity(this);
    }
}
⚠️ **GitHub.com Fallback** ⚠️