using System; using Android.App; using Android.Content; using Android.Media; using Android.OS; using Java.IO; namespace HDL_ON_Android { /// /// 常用方法工具类 /// public class HDLONUtils { public HDLONUtils() { } /// /// 发送广播,通知刷新图库的显示 /// /// public static void SendBroadcastScanFile(Context context, string path) { try { // 发送广播,通知刷新图库的显示 Intent scanIntent = new Intent(Intent.ActionMediaScannerScanFile); scanIntent.SetData(Android.Net.Uri.FromFile(new File(path))); context.SendBroadcast(scanIntent); } catch { 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; } } }