From 1f3acf4c29f367e40a3f589b51176ed24e28948f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 02 九月 2025 17:54:42 +0800
Subject: [PATCH] 2025年09月02日17:54:39
---
app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java | 122 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 122 insertions(+), 0 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java
index 5ba006c..b04e5bc 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/AppManagerUtils.java
@@ -1,11 +1,17 @@
package com.hdl.photovoltaic.utils;
import android.app.Activity;
+import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.widget.LoadingDialog;
+
import java.util.Iterator;
+import java.util.List;
import java.util.Stack;
/**
@@ -17,6 +23,8 @@
public class AppManagerUtils {
private static AppManagerUtils appManagerUtils;
+
+ private LoadingDialog loadingDialog;
private AppManagerUtils() {
}
@@ -93,6 +101,40 @@
}
/**
+ * 鏄惁瀛樺湪绫诲悕鐨凙ctivity
+ */
+ public boolean existsActivity(Class<?>... args) {
+ for (Activity activity : activityStack) {
+ for (Class<?> cls : args) {
+ if (activity.getClass().equals(cls)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Activity鏄惁鍦ㄩ《閮�
+ */
+ public boolean existsTopActivity(Class<?>... args) {
+ try {
+ if (activityStack == null || activityStack.size() == 0) {
+ return false;
+ }
+ final int index = activityStack.size() - 1;
+ for (Class<?> cls : args) {
+ if (activityStack.get(index).getClass().equals(cls)) {
+ return true;
+ }
+ }
+ } catch (Exception e) {
+ return false;
+ }
+ return false;
+ }
+
+ /**
* 鎸囧畾涓�涓被鍚�,浠庢寚瀹氱被鍚嶅紑濮嬬Щ闄ゅ悗闈㈡墍鏈堿ctivity
*
* @param className Activity-绫诲悕(activity.getClass().getName())
@@ -131,10 +173,32 @@
// }
}
+
+ public boolean existsActivity(Context activity, String className) {
+ boolean isLoginActivity = false;
+ // 鑾峰彇褰撳墠Activity鐨勫垪琛�
+ ActivityManager activityManager = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
+ List<ActivityManager.RunningTaskInfo> taskInfo = activityManager.getRunningTasks(1);
+ // 閬嶅巻Activity鍒楄〃锛屽垽鏂洰鏍嘇ctivity鏄惁鍦ㄥ垪琛ㄤ腑
+ for (ActivityManager.RunningTaskInfo info : taskInfo) {
+ if (info.topActivity.getClassName().equals("com.hdl.photovoltaic.ui.LoginActivity")) {
+ // 鐩爣Activity瀛樺湪
+ // 鍦ㄨ繖閲屽彲浠ヨ繘琛岀浉搴斿鐞�
+ isLoginActivity = true;
+ break;
+ }
+ }
+ return isLoginActivity;
+ }
+
+
/**
* 缁撴潫鎵�鏈堿ctivity
*/
public void finishAllActivity() {
+ if (activityStack == null) {
+ return;
+ }
for (int i = 0, size = activityStack.size(); i < size; i++) {
if (null != activityStack.get(i)) {
Activity activity = activityStack.get(i);
@@ -154,6 +218,64 @@
return activityStack.size();
}
+ /**
+ * 鑾峰彇褰撳墠鐨凙ctivity
+ *
+ * @return -
+ */
+ public Activity getLastActivity() {
+ if (activityStack.size() > 0) {
+ return activityStack.get(activityStack.size() - 1);
+ }
+ return null;
+ }
+
+
+ /**
+ * 鑾峰彇LoadingDialog
+ *
+ * @return LoadingDialog
+ */
+ public LoadingDialog getLoadingDialog() {
+ Activity activity = getLastActivity();
+ if (loadingDialog == null && activity != null) {
+ loadingDialog = new LoadingDialog(activity, R.style.Custom_Dialog);
+ }
+ return loadingDialog;
+ }
+
+ /**
+ * 寮�濮婰oading
+ */
+ public void showLoading() {
+ getLoadingDialog().start();
+ }
+
+ /**
+ * 寮�濮婰oading
+ *
+ * @param mes 鑷畾涔夋枃鏈�
+ */
+ public void showLoading(String mes) {
+ getLoadingDialog().start();
+ getLoadingDialog().setText(mes);
+ }
+
+ /**
+ * 鍋滄闅愯棌Loading
+ */
+ public void hideLoading() {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ if (loadingDialog != null && loadingDialog.isShowing()) {
+ loadingDialog.stop();
+ }
+ }
+ }, null, null);
+ }
+
+
// /**
// * 鍒ゆ柇褰撳墠搴旂敤鏄惁鏄痙ebug鐘舵��
// */
--
Gitblit v1.8.0