public static boolean isInBackground(Context context) {
boolean isInBackground = true;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List taskInfo;
if (VERSION.SDK_INT > 20) {
taskInfo = am.getRunningAppProcesses();
Iterator componentInfo = taskInfo.iterator();
while (true) {<br>
RunningAppProcessInfo processInfo;
do {
if (!componentInfo.hasNext()) {
return isInBackground;
}
processInfo = (RunningAppProcessInfo) componentInfo.next();
} while (processInfo.importance != 100);
String[] pkgs = processInfo.pkgList;
int length = pkgs.length;
for (int i = 0; i < length; ++i) {
String activeProcess = pkgs[i];
if (activeProcess.equals(context.getPackageName())) {
return false;
}
}
}
} else {
taskInfo = am.getRunningTasks(1);
ComponentName var10 = ((RunningTaskInfo) taskInfo.get(0)).topActivity;
if (var10.getPackageName().equals(context.getPackageName())) {
isInBackground = false;
}
}
return isInBackground;
}
public static boolean isAppRunning(Context context, String name) {
if (TextUtils.isEmpty(name)) {
return false;
} else {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List infos = am.getRunningAppProcesses();
if (infos == null) {
return false;
} else {
Iterator iterator = infos.iterator();
RunningAppProcessInfo info;
do {
if (!iterator.hasNext()) {
return false;
}
info = (RunningAppProcessInfo) iterator.next();
} while (!info.processName.equals(name));
return true;
}
}
}