//一、在util包中写ExitApplication类
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class ExitApplication extends Application {
private List activityList = new LinkedList();
private static ExitApplication instance;
private ExitApplication()
{
}
//单例模式中获取唯一的ExitApplication实例
public static ExitApplication getInstance()
{
if(null == instance)
{
instance = new ExitApplication();
}
return instance;
}
//添加Activity到容器中
public void addActivity(Activity activity)
{
activityList.add(activity);
}
//遍历所有Activity并finish
public void exit()
{
int siz=activityList.size();
for(int i=0;i<siz;i++){
if(activityList.get(i)!=null){
((Activity) activityList.get(i)).finish();
}
}
System.exit(0);
}
}
//二、在每一个要退出的Activity(包括当前Activity)的oncreate()方法中写上
ExitApplication.getInstance().addActivity(this);
//三、在要退出的地方加上
ExitApplication.getInstance().exit();
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class ExitApplication extends Application {
private List activityList = new LinkedList();
private static ExitApplication instance;
private ExitApplication()
{
}
//单例模式中获取唯一的ExitApplication实例
public static ExitApplication getInstance()
{
if(null == instance)
{
instance = new ExitApplication();
}
return instance;
}
//添加Activity到容器中
public void addActivity(Activity activity)
{
activityList.add(activity);
}
//遍历所有Activity并finish
public void exit()
{
int siz=activityList.size();
for(int i=0;i<siz;i++){
if(activityList.get(i)!=null){
((Activity) activityList.get(i)).finish();
}
}
System.exit(0);
}
}
//二、在每一个要退出的Activity(包括当前Activity)的oncreate()方法中写上
ExitApplication.getInstance().addActivity(this);
//三、在要退出的地方加上
ExitApplication.getInstance().exit();
本文介绍了一种通过自定义Application子类实现的Android应用全局退出机制。该机制利用单例模式管理应用内所有Activity的生命周期,并提供一键退出所有Activity的功能。

417

被折叠的 条评论
为什么被折叠?



