mainactivity:
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) {string topactivityclassname = NULL; 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) {string packagename = context. getpackagename (); Return packagename ;}}
Main. XML is as follows:
<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>