1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| /** * 返回app运行状态 * @param packageName 要判断应用的包名 * @return int 1:前台 2:后台 0:不存在 */ private int isAppAlive(Context context, String packageName) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> listInfos = activityManager .getRunningTasks(20); // 判断程序是否在栈顶 if (listInfos.get(0).topActivity.getPackageName().equals(packageName)) { return 1; } else { // 判断程序是否在栈里 for (ActivityManager.RunningTaskInfo info : listInfos) { if (info.topActivity.getPackageName().equals(packageName)) { return 2; } } return 0;// 栈里找不到,返回3 } }
|