From b847c06d8617efb2cbbad6f11b0344b779138e92 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期一, 14 十月 2024 18:03:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wjc' into feature/v2.7_迭代
---
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