Activity管理类,android

匿名 (未验证) 提交于 2019-12-02 23:39:01
 package net.oschina.app;  import java.util.Stack;  import android.app.Activity; import android.app.ActivityManager; import android.content.Context;   public class AppManager {          private static Stack<Activity> activityStack;     private static AppManager instance;          private AppManager(){}     /**      * 单一实例      */     public static AppManager getAppManager(){         if(instance==null){             instance=new AppManager();         }         return instance;     }     /**      * 添加Activity到堆栈      */     public void addActivity(Activity activity){         if(activityStack==null){             activityStack=new Stack<Activity>();         }         activityStack.add(activity);     }     /**      * 获取当前Activity(堆栈中最后一个压入的)      */     public Activity currentActivity(){         Activity activity=activityStack.lastElement();         return activity;     }     /**      * 结束当前Activity(堆栈中最后一个压入的)      */     public void finishActivity(){         Activity activity=activityStack.lastElement();         finishActivity(activity);     }     /**      * 结束指定的Activity      */     public void finishActivity(Activity activity){         if(activity!=null){             activityStack.remove(activity);             activity.finish();             activity=null;         }     }     /**      * 结束指定类名的Activity      */     public void finishActivity(Class<?> cls){         for (Activity activity : activityStack) {             if(activity.getClass().equals(cls) ){                 finishActivity(activity);             }         }     }     /**      * 结束所有Activity      */     public void finishAllActivity(){         for (int i = 0, size = activityStack.size(); i < size; i++){             if (null != activityStack.get(i)){                 activityStack.get(i).finish();             }         }         activityStack.clear();     }     /**      * 退出应用程序      */     public void AppExit(Context context) {         try {             finishAllActivity();             ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);             activityMgr.restartPackage(context.getPackageName());             System.exit(0);         } catch (Exception e) {    }     } }

文章来源: https://blog.csdn.net/qq_15204179/article/details/91398829
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!