AndroidProcess icon indicating copy to clipboard operation
AndroidProcess copied to clipboard

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

Open XiongKe94 opened this issue 8 years ago • 1 comments

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, 就是说的你的代码判断不准确

XiongKe94 avatar Dec 01 '16 09:12 XiongKe94

我也向作者提问了,如果这个APP,弹出通知,下载进度等,返回结果就是这个应用在前台,其实该应用在后台。

XiongKe94 avatar Dec 01 '16 09:12 XiongKe94