public static boolean isAppForegroundRunning(final Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
if (activityManager == null) return false;
List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}
AndroidProcesses.getRunningForegroundApps(context);如果一个应用退出到后台,但是正在下载文件的话,
AndroidProcesses.getRunningForegroundApps(context);中的foreground==true,而以前使用的代码返回值为false,就是说的你的代码判断不准确