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