Appmanager.java source code is as follows:
PackageCom.demo.app;ImportJava.util.Stack;Importandroid.app.Activity;ImportAndroid.app.ActivityManager;ImportAndroid.content.Context;/*** Application Activity Management class: For activity management and application exit *@version1.0 * @created 2012-3-21*/ Public classAppManager {Private StaticStack<activity>Activitystack; Private StaticAppManager instance; PrivateAppManager () {}/*** Single Instance*/ Public StaticAppManager Getappmanager () {if(instance==NULL) {instance=NewAppManager (); } returninstance; } /*** Add activity to Stack*/ Public voidaddactivity (activity activity) {if(activitystack==NULL) {Activitystack=NewStack<activity>(); } activitystack.add (activity); } /*** Gets the current activity (last pressed in the stack)*/ PublicActivity currentactivity () {Activity Activity=activitystack.lastelement (); returnactivity; } /*** End the current activity (last pressed in the stack)*/ Public voidfinishactivity () {Activity Activity=activitystack.lastelement (); Finishactivity (activity); } /*** End the specified activity*/ Public voidfinishactivity (activity activity) {if(activity!=NULL) {activitystack.remove (activity); Activity.finish (); Activity=NULL; } } /*** End activity for specified class name*/ Public voidFinishactivity (class<?>CLS) { for(Activity activity:activitystack) {if(Activity.getclass (). Equals (CLS)) {finishactivity (activity); } } } /*** End All activity*/ Public voidfinishallactivity () { for(inti = 0, size = activitystack.size (); i < size; i++){ if(NULL!=Activitystack.get (i)) {Activitystack.get (i). Finish (); }} activitystack.clear (); } /*** Exit Application*/ Public voidAppExit (Context context) {Try{finishallactivity (); Activitymanager Activitymgr=(Activitymanager) Context.getsystemservice (Context.activity_service); Activitymgr.restartpackage (Context.getpackagename ()); System.exit (0); } Catch(Exception e) {} }}
Source analysis of "Listviewjson" "Com.demo.app" "AppManager" and its role in engineering