ActivityManager的使用
来源:互联网 发布:windows桌面文件路径 编辑:程序博客网 时间:2024/05/21 22:25
我们再开发的时候,往往会碰到,当用户完成某个操作的时候,前期经历的页面都在后台关闭,而操作失败,则页面不关闭,那么我们就想到了ActivityManager的使用(上一篇文章写的使用任务栈的方式,因为任务栈的特点,完成不了更多的需求,所以放弃)
ActivityManager代码
import android.app.Activity;import android.util.Log;import java.util.ArrayList;import java.util.List;/** * Activity管理类 */public class ActivityManager { public static ActivityManager mActivityManager; /** * 存放Activity的map */ private List<Activity> mActivities = new ArrayList<Activity>(); //将构造方法私有化,所以不能通构造方法来初始化ActivityManager private ActivityManager() { } ; //采用单例模式初始化ActivityManager,使只初始化一次 public static ActivityManager getInstance() { if (mActivityManager == null) { mActivityManager = new ActivityManager(); } return mActivityManager; } //添加activity public void addActivity(Activity activity) { if (!mActivities.contains(activity)) { mActivities.add(activity); } } //关闭指定的Activity public void removeActivity(Activity activity) { if (activity != null) { if (mActivities.contains(activity)) { mActivities.remove(activity); } activity.finish(); activity = null; } } //将activity全部关闭掉 public void clearAll() { for (Activity activity : mActivities) { activity.finish(); } } //将activity全部关闭掉,除掉MainAcitiy public void clearOther() { for (Activity activity : mActivities) { Log.e("eerrree", activity.getClass().getSimpleName()); if (activity.getClass().getSimpleName().equals("MainActivity")) { continue; } activity.finish(); } }}
第二步,在我们封装的Base的OnCreat方法中调用,
activitymanager = ActivityManager.getInstance();
activitymanager.addActivity(this);
这样所有集成Base的页面都会被存入集合中,待需要的时候关闭
0 0
- ActivityManager的简单使用
- ActivityManager的使用
- android ActivityManager的一些使用
- 使用ActivityManager的forceStopPackage方法结束进程
- Android中ActivityManager的使用案例
- 使用ActivityManager的forceStopPackage方法结束进程
- Android 框架Dileber :一、ActivityManager的使用
- Android 获取内存信息---ActivityManager的使用
- Android中ActivityManager的使用案例
- Android 获取正在运行的服务 ActivityManager.RunningServiceInfo使用
- 【转】使用ActivityManager的forceStopPackage方法结束进程
- ActivityManager的作用
- ActivityManager
- ActivityManager
- ActivityManager
- ActivityManager
- ActivityManager
- ActivityManager
- 深度学习小白——CS231n Assignment2(CNN)
- 网页加载的思考
- [leetcode: Python]258. Add Digits
- C#中Newtonsoft.Json(Json.NET)的使用
- python调用gnuplot
- ActivityManager的使用
- (一)虚拟环境
- Express中使用自定义视图模板引擎
- 访问glashfish里面的servlet的时候一直提示404错误见解
- 关于BIOS的故事
- Tensorflow一些常用基本概念与函数(1)
- java的加密与解密
- win10安装python3,tensorflow,numpy,scipy和matplotlib
- Docker run运行容器报错Error ruuning deviceCreate(createSnapDevice) dm_task_run failed