【Android学习】Android完全退出应用程序

Android退出应用程序会调用finish(),但这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C三个Activity,而想在B或C中Activity退出,调用上面的方法,只会销毁当前的Activity返回上一个Activity。当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程序,但是这样比较麻烦。下面是一个比较好的方法:

首先要定义一个继承Application的类:


public class ExitManager extends Application{
	private List<Activity> activityList=new LinkedList<Activity>();
	   private static ExitManager instance;
	   
	   private ExitManager(){
		   
	   }
	   public static ExitManager getInstance(){
		   if (instance==null) {
			instance=new ExitManager();
		}
		   return instance;
	   }
	   public void addActivity(Activity activity){
		   activityList.add(activity);
	   }
	   public void exit(){
		   for(Activity activity:activityList){
			     if(!activity.isFinishing()){
			    	  activity.finish();
			     }
		   }
		   int id=android.os.Process.myPid();
		   if(id!=0){
			   android.os.Process
				.killProcess(id);
		   }
	   }
}

其次要在每个Activity的onCreate方法中加入如下代码:

ExitManager.getInstance().addActivity(this);

也就是将每个Activity加入到Activity容器中。最后,在实现退出应用程序的地方加入如下代码:

ExitManager.getInstance().exit();


【Android学习】Android完全退出应用程序,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。