Activity管理类
来源:互联网 发布:做淘宝联盟怎么样 编辑:程序博客网 时间:2024/06/05 22:40
public class AppManager { private static AppManager instance; private Stack<Activity> activityStack; /** * 私有的构造函数 */ private AppManager() { if (null == activityStack) { activityStack = new Stack<>(); } } public static AppManager getInstance() { if (null == instance) { instance = new AppManager(); } return instance; } /** * 添加Activity到堆栈 */ public void addActivity(Activity activity) { activityStack.add(activity); } /** * 获取当前Activity(堆栈中最后一个压入的) */ public Activity currentActivity() { return activityStack.lastElement(); } /** * 结束当前Activity(堆栈中最后一个压入的) */ public void finishCurrentActivity() { finishActivity(activityStack.lastElement()); } /** * 结束指定的Activity */ public void finishActivity(Activity activity) { if (null != activity) { 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.killBackgroundProcesses(context.getPackageName()); System.exit(0); } catch (Exception e) { } } /** * 是否退出了 * * @return */ public boolean isAppExit() { return null == activityStack || activityStack.isEmpty(); } /** * 某个Activity是否存在 * * @param cls * @return */ public boolean isExistActivity(Class<?> cls) { for (Activity activity : activityStack) { if (activity.getLocalClassName().contains(cls.getSimpleName())) { return true; } } return false; } /** * 除了cls,结束所有的Activity * @param cls */ public void finishAllActivityExcept(Class<?> cls) { for (Activity activity : activityStack) { if (!activity.getClass().equals(cls)) { finishActivity(activity); } } }}
阅读全文
0 0
- android Activity管理类(全局管理Activity)
- android Activity管理类(全局管理Activity)
- android Activity管理类(全局管理Activity)
- AppManager Activity管理类
- activity活动管理类
- Activity管理类
- dialog activity管理类
- 应用程序Activity管理类
- Activity全局管理类
- Activity管理类
- activity管理类
- Activity管理类
- android activity管理类
- Android Activity管理类,管理Activity和退出应用
- Activity管理类,用于Activity管理和应用程序退出
- Activity管理类,用于Activity管理和退出
- 应用程序Activity管理类:用于Activity管理和应用程序退出
- Android的activity管理类
- tomcat 请求中文乱码
- ubuntu14.04 rabbitmq重启丢失用户信息
- Spring Boot中@OneToMany与@ManyToOne几个需要注意的问题
- yii2中gridview多表关联显示并可查询
- 简谈java软件架构的几个视角
- Activity管理类
- Android RecyclerView Item点击事件
- MySQL--取最近一小时内每五分钟的合计数据
- 征信良好贷款秒拒?你可能上了“灰名单”!
- 基于spring注解方式配置和使用spring AOP
- spring aop原理
- PHP常用函数总结(180多个)
- 银行卡验证接口API(仅需一行代码,实现全国银行卡核验)
- Intellij idea 非Maven项目导出War包