Android 判斷app是否在前後臺運行

有什麼問題大家可以在交流羣裏面找我,552123831 QQ交流羣。

在寫代碼的時候,很多時候,我們要做定時刷新,但是你按home鍵的時候,你的定時刷新有時候關不掉,所有我們需要判斷程序是否在後臺或者前臺運行:

      if (Calculate.isBackground(Context)){
              //後臺運行
           }else {
         //前臺運行     
        }

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())) {
                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;
    }


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