using System;
|
using Android.App;
|
using Android.Content;
|
using Android.Media;
|
using Android.OS;
|
using Java.IO;
|
|
namespace HDL_ON_Android
|
{
|
/// <summary>
|
/// 常用方法工具类
|
/// </summary>
|
public class HDLONUtils
|
{
|
public HDLONUtils()
|
{
|
}
|
|
/// <summary>
|
/// 发送广播,通知刷新图库的显示
|
/// </summary>
|
/// <param name="path"></param>
|
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;
|
}
|
}
|
}
|