android 前後臺運行判斷(使用場景如:在app聊天中,如果前端運行不發送通知,後臺運行則發送通知)

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(context.getPackageName(), "此appimportace ="
                    + appProcess.importance
                    + ",context.getClass().getName()="
                    + context.getClass().getName());
            if (appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                Log.i(context.getPackageName(), "處於後臺"
                        + appProcess.processName);
                return true;
            } else {
                Log.i(context.getPackageName(), "處於前臺"
                        + appProcess.processName);
                return false;
            }
        }
    }
    return false;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章