1. Determine through the RunningTaskInfo class (additional permissions required ):
/*** Determine whether the current application is in the foreground or background */public static boolean isApplicationBroughtToBackground (final Context context) {ActivityManager am = (ActivityManager) context. getSystemService (Context. ACTIVITY_SERVICE); List
Tasks = am. getRunningTasks (1); if (! Tasks. isEmpty () {ComponentName topActivity = tasks. get (0). topActivity; if (! TopActivity. getPackageName (). equals (context. getPackageName () {return true ;}} return false ;}
You must add the following permissions to the AndroidMenitfest. xml file:
2. Determine through the RunningAppProcessInfo class (no additional permissions required ):
Public static boolean isBackground (Context context) {ActivityManager activityManager = (ActivityManager) context. getSystemService (Context. ACTIVITY_SERVICE); List
AppProcesses = activityManager. getRunningAppProcesses (); for (RunningAppProcessInfo appProcess: appProcesses) {if (appProcess. processName. equals (context. getPackageName () {if (appProcess. importance = RunningAppProcessInfo. IMPORTANCE_BACKGROUND) {Log. I ("background", appProcess. processName); return true;} else {Log. I ("front-end", appProcess. processName); return false ;}}return false ;}