ActivityManager (4) -- determines whether an application is running on the foreground
MainActivity is as follows:
Package cn. testforeground; import java. util. list; import android. OS. bundle; import android. app. activity; import android. app. activityManager; import android. app. activityManager. runningTaskInfo; import android. content. componentName; import android. content. context;/*** Demo Description: * determines whether the current application is running on the foreground ** note permissions :*
*/Public class MainActivity extends Activity {@ Overrideprotected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. main); isRunningForeground ();} public boolean isRunningForeground () {String packageName = getPackageName (this); String topActivityClassName = getTopActivityName (this); System. out. println ("packageName =" + packageName + ", topActivityClassName =" + topAc TivityClassName); if (packageName! = Null & topActivityClassName! = Null & topActivityClassName. startsWith (packageName) {System. out. println ("---> isRunningForeGround"); return true;} else {System. out. println ("---> isRunningBackGround"); return false ;}} public String getTopActivityName (Context context) {String topActivityClassName = null; ActivityManager activityManager = (ActivityManager) (context. getSystemService (android. content. context. ACTIVITY_SERVICE); List
RunningTaskInfos = activityManager. getRunningTasks (1); if (runningTaskInfos! = Null) {ComponentName f = runningTaskInfos. get (0 ). topActivity; topActivityClassName = f. getClassName ();} return topActivityClassName;} public String getPackageName (Context context) {String packageName = context. getPackageName (); return packageName ;}}
Main. xml is as follows: