日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Activity管理

發布時間:2024/10/12 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activity管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public class AppManager {
? ? public Stack<Activity> getActivityStack() {
? ? ? ? return activityStack;
? ? }
? ? private Stack<Activity> activityStack;
? ? private static AppManager appManager;
? ? String tag = AppManager.class.getSimpleName();


? ? private AppManager() {


? ? }


? ? /**
? ? ?* 單一實例
? ? ?*/
? ? public static AppManager getAppManager() {
? ? ? ? if (appManager == null) {
? ? ? ? ? ? appManager = new AppManager();
? ? ? ? }
? ? ? ? return appManager;
? ? }


? ? /**
? ? ?* 添加Activity到堆棧
? ? ?*/
? ? public void addActivity(Activity activity) {
? ? ? ? if (activityStack == null) {
? ? ? ? ? ? activityStack = new Stack<>();
? ? ? ? }
? ? ? ? activityStack.add(activity);
? ? }


? ? /**
? ? ?* 獲取當前Activity(堆棧中最后一個壓入的)
? ? ?*/
? ? public Activity currentActivity() {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return null;


? ? ? ? Activity activity = activityStack.lastElement();
? ? ? ? return activity;
? ? }


? ? /*****
? ? ?* 獲取前一個activity
? ? ?* @return
? ? ?*/
? ? public Activity lastActivity() {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return null;
? ? ? ? Activity activity = activityStack.elementAt(activityStack.size()-2<0?0:activityStack.size()-2);
? ? ? ? return activity;
? ? }


? ? /**
? ? ?* 結束當前Activity(堆棧中最后一個壓入的)
? ? ?*/
? ? public void finishActivity() {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return;
? ? ? ? Activity activity = activityStack.lastElement();
? ? ? ? finishActivity(activity);
? ? }


? ? /**
? ? ?* 結束指定的Activity
? ? ?*/
? ? public void finishActivity(Activity activity) {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return;
? ? ? ? if (activityStack!=null&&!activityStack.isEmpty()&&activity != null) {
? ? ? ? ? ? activityStack.remove(activity);
? ? ? ? }
? ? }


? ? /**
? ? ?* 結束指定類名的Activity
? ? ?*/
? ? public void finishActivity(Class<?> cls) {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return;
? ? ? ? for (Activity activity : activityStack) {
? ? ? ? ? ? if (activity.getClass().equals(cls)) {
? ? ? ? ? ? ? ? finishActivity(activity);
? ? ? ? ? ? }
? ? ? ? }
? ? }


? ? /**
? ? ?* 結束所有Activity
? ? ?*/
? ? public void finishAllActivity() {
? ? ? ? if (activityStack == null||activityStack.isEmpty())
? ? ? ? ? ? return;
? ? ? ? for (int i = 0, size = activityStack.size(); i < size; i++) {
? ? ? ? ? ? if (null != activityStack.get(i)) {
? ? ? ? ? ? ? ? activityStack.get(i).finish();
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? activityStack.clear();
? ? }


? ? /**
? ? ?* 結束所有Activity
? ? ?*/
? ? public void finishAllActivityExceptByName(String cName) {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return;
? ? ? ? Activity mainActivity = null;
? ? ? ? for (Activity activity : activityStack) {
? ? ? ? ? ? if (null != activity) {
? ? ? ? ? ? ? ? if (!activity.getClass().getSimpleName().equals(cName)) {
? ? ? ? ? ? ? ? ? ? activity.finish();
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? mainActivity = activity;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? Log.d(tag, "finishAllActivityExceptByName:" + cName);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? activityStack.clear();
? ? ? ? activityStack.add(mainActivity);
? ? ? ? Log.d(tag, "activityStack.size(): " + activityStack.size());
? ? }


? ? /*****
? ? ?* 退出到指定的Activity
? ? ?*/
? ? public void goToActivityForName(String cName) {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return;
? ? ? ? for (int i = activityStack.size() - 1; i > 0; i--) {
? ? ? ? ? ? Activity activity = activityStack.get(i);
? ? ? ? ? ? if (activity == null)
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? if (activity.getClass().getName().equals(cName))
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? activity.finish();
? ? ? ? ? ? activityStack.remove(activity);
? ? ? ? }
? ? }


? ? /*****
? ? ?*
? ? ?* @param cName
? ? ?*/
? ? public void goToActivityExcludeName(String cName) {
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return;
? ? ? ? for (int i =? 0; i < activityStack.size(); i++) {
? ? ? ? ? ? Activity activity = activityStack.get(i);
? ? ? ? ? ? if (activity == null||activity.getClass().getName().equals(cName))
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? activity.finish();
? ? ? ? ? ? activityStack.remove(activity);
? ? ? ? }
? ? }


? ? public boolean isHasActivityForName(String activityName){
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return false;


? ? ? ? for (int i =? 0; i < activityStack.size(); i++) {
? ? ? ? ? ? Activity activity = activityStack.get(i);
? ? ? ? ? ? if (activity != null&&activity.getClass().getName().equals(activityName)){
? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return false;
? ? }


? ? /**
? ? ?* 退出應用程序
? ? ?*/
? ? public void AppExit() {
? ? ? ? try {
? ? ? ? ? ? finishAllActivity();
? ? ? ? ? ? //殺死該應用進程
? ? ? ? ? ? android.os.Process.killProcess(android.os.Process.myPid());
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }


? ? /****
? ? ?* 是否包含指定Activity
? ? ?* @param cls
? ? ?* @return
? ? ?*/
? ? public boolean isHasActivity(Class<?> cls){
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return false;
? ? ? ? for (int i =? 0; i < activityStack.size(); i++) {
? ? ? ? ? ? if (activityStack.get(i).getClass() == cls){
? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return false;
? ? }


? ? /****
? ? ?* 是否在棧頂
? ? ?* @param cls
? ? ?* @return
? ? ?*/
? ? public boolean isTopActivity(Class<?> cls){
? ? ? ? if (activityStack==null||activityStack.isEmpty())
? ? ? ? ? ? return false;
? ? ? ? if (activityStack.get(activityStack.size()-1).getClass() == cls){
? ? ? ? ? ? return true;
? ? ? ? }
? ? ? ? return false;
? ? }

總結

以上是生活随笔為你收集整理的Activity管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。