android判断APP是否在前台

来源:互联网 发布:家用路由器 知乎 编辑:程序博客网 时间:2024/06/05 19:04
//app处于前台false,处于后台truepublic 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(context.getPackageName(), "appimportace =" + appProcess.importance + ",context.getClass().getName()=" + context.getClass().getName());            if (appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {                Log.e("TAG", "处于后台" + appProcess.processName);                return true;            } else {                Log.e("TAG", "处于前台" + appProcess.processName);                return false;            }        }    }    return false;}