From 0fc2962749e7e1f4078717a9914ac8175a2c4b26 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期四, 26 九月 2024 20:53:55 +0800
Subject: [PATCH] 可视对讲,注册

---
 HDL-ON_Android/Other/HDLONUtils.cs |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/HDL-ON_Android/Other/HDLONUtils.cs b/HDL-ON_Android/Other/HDLONUtils.cs
index 570b56c..14cd26a 100644
--- a/HDL-ON_Android/Other/HDLONUtils.cs
+++ b/HDL-ON_Android/Other/HDLONUtils.cs
@@ -1,5 +1,7 @@
 锘縰sing System;
+using Android.App;
 using Android.Content;
+using Android.OS;
 using Java.IO;
 
 namespace HDL_ON_Android
@@ -32,12 +34,42 @@
             }
         }
 
-        //public static void StartSplashActivity()
-        //{
-        //    Intent intent = new Intent(Shared.Application.Activity, typeof(SplashActivity));
-        //    Shared.Application.Activity.StartActivity(intent);
-        //    Shared.Application.Activity.Finish();
-        //}
+
+        [Obsolete]
+        public static bool IsAppInForeground(Context context)
+        {
+            ActivityManager activityManager = (ActivityManager)context.GetSystemService(Context.ActivityService);
+
+            if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
+            {
+                var appProcesses = activityManager.RunningAppProcesses;
+                if (appProcesses != null)
+                {
+                    string packageName = context.PackageName;
+                    foreach (var appProcess in appProcesses)
+                    {
+                        if (appProcess.Importance == Importance.Foreground && appProcess.ProcessName.Equals(packageName))
+                        {
+                            return true; // 搴旂敤鍦ㄥ墠鍙�
+                        }
+                    }
+                }
+            }
+            else
+            {
+                var tasks = activityManager.GetRunningTasks(1);
+                if (tasks != null && tasks.Count > 0)
+                {
+                    var topActivity = tasks[0].TopActivity;
+                    if (topActivity.PackageName.Equals(context.PackageName))
+                    {
+                        return true; // 搴旂敤鍦ㄥ墠鍙�
+                    }
+                }
+            }
+
+            return false; // 搴旂敤涓嶅湪鍓嶅彴
+        }
 
     }
 }

--
Gitblit v1.8.0