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;
}
}
}