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