您的位置:首页 > 移动开发

在安卓开发中实现退出App时销毁所有Activity

2015-08-05 09:27 489 查看
我做Android开发时,经常遇到退出应用就会提示应用停止运行,很明显这是有bug,查阅了网上的相关资料,发现finish()、System.exit(0)、android.os.Process.killProcess(android.os.Process.myPid())只能销毁当前的activity,并不能销毁所有的activity,为了实现退出时便销毁所有的Activity,写了下面一个方法:

1、使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器

public class MyApplication extends Application {

public static List<Object> activitys = new ArrayList<Object>();

private static MyApplication instance;

//
获取
单例模式中
唯一的MyApplication实例


public static MyApplication getInstance() {

if (instance == null)

instance = new MyApplication();

return instance;

}

// 添加Activity到容器中

public void addActivity(Activity activity) {

if (!activitys.contains(activity))

activitys.add(activity);

}

// 遍历所有Activity并finish

public void destory() {

for (Object activity : activitys) {

((Activity) activity).finish();

}

System.exit(0);

}

}

2、在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中

MyApplication.getInstance().addActivity(this);

3、在需要退出的Activity中的onDestroy方法里调用destroy方法

MyApplication.getInstance().destroy();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: