退出所有应用,监控打开了什么活动

1.新建类活动管理器类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();
            }
        }
    }
}

提供了一个 addActivity()方法用于向 List 中添加一个活动

提供了一个 removeActivity()方法用于从 List 中移除活动

最后提供了一个 finishAll()方法用于将 List 中存储的活动全部都销毁掉

 

2.新建类BaseActivity继承于Activity

在BaseActivity中不设置界面,把其他所有类继承于BaseActivity,他们也会继承Activity中的所有内容;

public class BaseActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("BaseActivity", getClass().getSimpleName());//监控是哪个activity启动
        ActivityCollector.addActivity(this);
    }

    @Override
    protected void onDestroy() {//活动关闭,则从activity中移除该活动
super.onDestroy(); ActivityCollector.removeActivity(this); } }

3.在你需要的时候,调用ActivityCollector.finishAll(); 就能关掉所有活动啦!

posted @ 2016-11-11 23:10  岑忠满  阅读(191)  评论(0编辑  收藏  举报