public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager
.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
/*
* BACKGROUND=400 EMPTY=500 FOREGROUND=100 GONE=1000
* PERCEPTIBLE=130 SERVICE=300 ISIBLE=200
*/
Log.i("xx", "此appimportace ="
+ appProcess.importance
+ ",context.getClass().getName()="
+ context.getClass().getName());
if (appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
Log.i("xx", "处于后台"
+ appProcess.processName);
PreferenceHelper.write(context, "handlerLog", "handlerLog", "true");
return true;
} else {
Log.i("xx", "处于前台"
+ appProcess.processName);
return false;
}
}
}
return false;
}
判断程序在后台运行还是前台
最新推荐文章于 2024-08-20 14:36:27 发布