wxr
2024-09-30 2a88b9b559fd20f42d163d08b582f2d19ff329f4
HDL-ON_Android/Other/HDLONUtils.cs
@@ -1,5 +1,8 @@
using System;
using Android.App;
using Android.Content;
using Android.Media;
using Android.OS;
using Java.IO;
namespace HDL_ON_Android
@@ -31,5 +34,51 @@
                System.Console.WriteLine("发送广播刷新图库 catch");
            }
        }
        [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; // 应用不在前台
        }
        public static bool IsSilentMode(Context context)
        {
            AudioManager audioManager = (AudioManager)context.GetSystemService(Context.AudioService);
            // 判断是否处于静音模式
            return audioManager.RingerMode == RingerMode.Silent || audioManager.RingerMode == RingerMode.Vibrate;
        }
    }
}