本文将带你了解Android应用开发之如何判断APP是否在后台,希望本文对大家学Android有所帮助。
可用辅助方法:
Java代码 public static boolean isInBackground(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List runningProcesses = am.getRunningAppProcesses(); boolean isInBackground = true; for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) { for (String activeProcess : processInfo.pkgList) { if (activeProcess.equals(context.getPackageName())) { if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { isInBackground = false; } return isInBackground; } } } return isInBackground; } public static boolean isInBackground(Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List runningProcesses = am.getRunningAppProcesses();
boolean isInBackground = true;
for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) {
for (String activeProcess : processInfo.pkgList) {
if (activeProcess.equals(context.getPackageName())) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
isInBackground = false;
}
return isInBackground;
}
}
}
return isInBackground;
}
注: 在N的multi-windows 模式下,inactive的app(可见),上面的方法返回false
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!