通过ActivityManager 管理activity
来源:互联网 发布:信息科技公司 域名 编辑:程序博客网 时间:2024/05/20 20:46
package com.nodepp.smartplug.activity;import android.app.Activity;import android.content.Context;import android.os.*;import android.os.Process;import android.util.Log;import java.util.ArrayList;import java.util.Iterator;import java.util.Stack;/** * Created by yuyue on 2016/8/5. * 管理activity */public class ActivityManager { private static Stack<Activity> activityStack; private static ActivityManager instance; private ActivityManager() { } public static ActivityManager getAppManager() { if(instance == null) { instance = new ActivityManager(); } return instance; } public void addActivity(Activity activity) { if(activityStack == null) { activityStack = new Stack(); } Log.i("appmanager", "******************" + activityStack.size()); if(activityStack.size() > 0) { Activity act = (Activity)activityStack.lastElement(); Log.i("appmanager", "******************" + act.getClass()); if(act != null && act.getClass().equals(activity.getClass())) { this.finishLastActivity(); } } activityStack.add(activity); } public Activity currentActivity() { Activity activity = (Activity)activityStack.lastElement(); return activity; } public void finishActivity() { Activity activity = (Activity)activityStack.lastElement(); this.finishActivity(activity); } public void finishActivity(Activity activity) { if(activity != null) { this.removeActivityStack(activity); activity.finish(); activity = null; } } public void removeActivityStack(Activity activity) { activityStack.remove(activity); } public void finishLastActivity() { Activity activity = (Activity)activityStack.lastElement(); if(activity != null) { activityStack.remove(activity); activity.finish(); activity = null; } } public void finishActivity(Class<?> cls) { Iterator i$ = activityStack.iterator(); while(i$.hasNext()) { Activity activity = (Activity)i$.next(); if(activity.getClass().equals(cls)) { this.finishActivity(activity); } } } public void finishAllActivity() { int i = 0; for(int size = activityStack.size(); i < size; ++i) { if(null != activityStack.get(i)) { ((Activity)activityStack.get(i)).finish(); } } activityStack.clear(); } public void AppExit(Context context) { try { this.finishAllActivity(); System.exit(0); android.os.Process.killProcess(Process.myPid()); } catch (Exception var3) { ; } } public void getActivity(Activity activity) { if(activity != null) { activityStack.remove(activity); activity.finish(); activity = null; } } public Activity getActivity(Class<?> cls) { Iterator i$ = activityStack.iterator(); Activity activity; do { if(!i$.hasNext()) { return null; } activity = (Activity)i$.next(); } while(!activity.getClass().equals(cls)); return activity; } public void goToActivity(Activity activity) { int flag = -1; ArrayList activities = new ArrayList(); Iterator i = activityStack.iterator(); Activity act; while(i.hasNext()) { act = (Activity)i.next(); if(flag == 0) { ++flag; } if(flag > 0) { activities.add(act); } if(flag == -1 && act.getClass().equals(activity.getClass())) { flag = 0; } } for(int var6 = activities.size() - 1; var6 > -1; --var6) { act = (Activity)activities.get(var6); activityStack.remove(act); act.finish(); act = null; } } public void goToActivity(Class<?> cls) { int flag = -1; ArrayList activities = new ArrayList(); Iterator i = activityStack.iterator(); Activity act; while(i.hasNext()) { act = (Activity)i.next(); Log.i("goToActivity","goToActivity=="+act.getClass()); if(flag >= 0) { ++flag; } if(flag > 0) { activities.add(act); } if(flag == -1) { Log.i("activity.getClass()", act.getClass().toString()); if(act.getClass().equals(cls)) { flag = 0; } } } for(int var6 = activities.size() - 1; var6 > -1; --var6) { act = (Activity)activities.get(var6); Log.i("activity.getClass() => ", act.getClass().toString()); activityStack.remove(act); act.finish(); act = null; } } public int getActivityCount() { return activityStack.size(); } }
0 0
- 通过ActivityManager 管理activity
- Android 通过Stack管理Activity
- Android 项目开发必备-Activity管理栈之ActivityManager的建立
- ActivityManager--获取栈顶Activity及其所属进程,activitymanager
- 使用ActivityManager实现进程管理
- Android之通过Stack来管理Activity
- Android通过Activity栈方式对Activity管理
- Android通过Activity栈方式对Activity管理
- Android通过Activity栈方式对Activity管理
- ActivityManager: Error: Activity class { 。。。} does not exist.
- ActivityManager: Error: Activity class {..} does not exist.
- ActivityManager
- ActivityManager
- ActivityManager
- ActivityManager
- ActivityManager
- ActivityManager
- ActivityManager
- MySQL用户和权限管理
- 径向基神经网络
- dialog中的edit无法弹出输入法
- Bottle.py的官方教程翻译译者序
- React Native配置运行官方Example Demo 等等
- 通过ActivityManager 管理activity
- java HashMap 实现原理
- iOS--线程间通讯NSThread--04
- 怎么将一个十六进制数转变成十进制数
- 简单的http服务器java
- Angular 几篇关于指令的好文章收录(一)
- Matlab中低级文件I/O操作函数
- RxJava2 浅析
- crul 的使用