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


    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(); 就能关掉所有活动啦!

    岑忠满的博客新站点 https://cenzm.xyz
  • 相关阅读:
    二维数组排序
    正则验证
    yii2视频教材
    yii2数据库简单操作
    MySQL(zip版)安装教程
    OpenCV插件
    机器视觉项目总结——光源
    VS2017运行YOLOv4
    VS打开cmd(直接在项目路径)
    【转载】Win10安装Ubuntu子系统
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/6055920.html
Copyright © 2020-2023  润新知