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 permission: * <uses-permission android: name = "android. permission. GET_TASKS "/> */public class MainActivity extends Act Ivity {@ 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 =" + topActivityClassName); 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 <Running TaskInfo> 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 ;}}
<RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent"> <TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "determine whether the current application is running on the foreground" android: layout_centerInParent = "true" android: textSize = "20sp"/> </RelativeLayout>