From 505effa88b17ce8c3c7ac5403b76d9e5d0cfc2a5 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期一, 28 十月 2024 11:58:31 +0800 Subject: [PATCH] 谷歌版本问题修复 --- HDL-ON_Android/Other/HDLONUtils.cs | 40 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 36 insertions(+), 4 deletions(-) diff --git a/HDL-ON_Android/Other/HDLONUtils.cs b/HDL-ON_Android/Other/HDLONUtils.cs index 5f184b9..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,11 +34,41 @@ } } - public static void StartSplashActivity() + + [Obsolete] + public static bool IsAppInForeground(Context context) { - Intent intent = new Intent(Shared.Application.Activity, typeof(SplashActivity)); - Shared.Application.Activity.StartActivity(intent); - Shared.Application.Activity.Finish(); + 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