Skip to content

判断一个应用是否在前台代码库有问题? #16

@XiongKe94

Description

@XiongKe94
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;
}
  • 手机系统:Android 4.3
  • 型号:Galaxy Nexus
  • 你的代码:AndroidProcesses.getRunningForegroundApps(context);
    如果一个应用退出到后台,但是正在下载文件的话,AndroidProcesses.getRunningForegroundApps(context);中的foreground==true,而以前使用的代码返回值为false,
    就是说的你的代码判断不准确

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions