From 30c21abd3047624cc413f5eaacbbbb88bae46f6a Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期一, 30 九月 2024 11:21:24 +0800 Subject: [PATCH] Update HomePage.cs --- HDL-ON_Android/Other/HDLONUtils.cs | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 45 insertions(+), 4 deletions(-) diff --git a/HDL-ON_Android/Other/HDLONUtils.cs b/HDL-ON_Android/Other/HDLONUtils.cs index 5f184b9..bfe96fa 100644 --- a/HDL-ON_Android/Other/HDLONUtils.cs +++ b/HDL-ON_Android/Other/HDLONUtils.cs @@ -1,5 +1,8 @@ 锘縰sing System; +using Android.App; using Android.Content; +using Android.Media; +using Android.OS; using Java.IO; namespace HDL_ON_Android @@ -32,12 +35,50 @@ } } - 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; // 搴旂敤涓嶅湪鍓嶅彴 } + + public static bool IsSilentMode(Context context) + { + AudioManager audioManager = (AudioManager)context.GetSystemService(Context.AudioService); + + // 鍒ゆ柇鏄惁澶勪簬闈欓煶妯″紡 + return audioManager.RingerMode == RingerMode.Silent || audioManager.RingerMode == RingerMode.Vibrate; + } } } -- Gitblit v1.8.0