public class ActivityUtils {
/**
* 当前应用是否处于前台
* @param context
* @return true 在前台 false 在后台
*/
public static boolean isForeground(Context context) {
if (context != null) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processes = activityManager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo processInfo: processes) {
LogUtils.e("----processInfo.importance"+processInfo.importance+"------100");
if (processInfo.processName.equals(context.getPackageName())) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
return true;
}
}
}
}
return false;
}
/**
* 方法二 测试是否应用是否在后台
* @param context
* @return
*/
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager
.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
Log.e("ActivityUtils", "appProcess.processName---"
+ appProcess.processName
+ "------context.getPackageName()---" + context.getPackageName());
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
Log.e("后台", appProcess.processName);
return true;
} else {
Log.e("前台", appProcess.processName);
return false;
}
}
}
return false;
}
/**
* 方法一 判断当前应用程序处于前台还是后台
* @param context
* @return
*/
public static boolean isApplicationBackground(final Context context) {
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
Log.e("ActivityUtils", "后台" + "topActivity.getPackageName()"
+ topActivity.getPackageName()
+ "context.getPackageName()" + context.getPackageName());
return true;
}
}
Log.e("ActivityUtils", "前台");
return false;
}
}
/**
* 当前应用是否处于前台
* @param context
* @return true 在前台 false 在后台
*/
public static boolean isForeground(Context context) {
if (context != null) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processes = activityManager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo processInfo: processes) {
LogUtils.e("----processInfo.importance"+processInfo.importance+"------100");
if (processInfo.processName.equals(context.getPackageName())) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
return true;
}
}
}
}
return false;
}
/**
* 方法二 测试是否应用是否在后台
* @param context
* @return
*/
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager
.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
Log.e("ActivityUtils", "appProcess.processName---"
+ appProcess.processName
+ "------context.getPackageName()---" + context.getPackageName());
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
Log.e("后台", appProcess.processName);
return true;
} else {
Log.e("前台", appProcess.processName);
return false;
}
}
}
return false;
}
/**
* 方法一 判断当前应用程序处于前台还是后台
* @param context
* @return
*/
public static boolean isApplicationBackground(final Context context) {
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
Log.e("ActivityUtils", "后台" + "topActivity.getPackageName()"
+ topActivity.getPackageName()
+ "context.getPackageName()" + context.getPackageName());
return true;
}
}
Log.e("ActivityUtils", "前台");
return false;
}
}