在安卓开发中实现退出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;
//
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();
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();
相关文章推荐
- 【微信分享】李滔:搜狐基于Spark的新闻和广告推荐实战
- java微信公众平台开发四(上传素材)
- android4.4.2源码和内核编译——图文详细记录
- android 消息提示框点击“确定”按钮后,不能及时关闭提示框的解决方案
- 南邮 OJ 1136 Happy Children’s Day
- Android Studio导入GitHub上的项目常见问题(以图片轮播开源项目为实例)
- iOS7使用iOS8上的方法报错处理
- iOS开发中的测试框架
- android应用无法运行报错记录(持续更新)
- ios app上线后的地址怎么获取
- iOS开发_常用的正则表达式
- APP测试要点
- Android 布局文件
- Android Studio系列教程五--Gradle命令详解与导入第三方包
- android view startAnimation后setVisibility没有效果
- Android Studio系列教程四--Gradle基础
- Android 圆弧形进度条 自定义View
- Android 圆弧形进度条 自定义View
- Android 圆弧形进度条 自定义View
- android 获取文件的扩展名和去掉文件扩展名的小例子