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

Android程序中有多个Activity时的完美退出方法

2012-09-21 17:47 671 查看
此方法借鉴与网上,因为做项目时遇到有多个acitivity需要退出的功能,试遍了网上的方法,最终发现这种方法有用,特分享给大家,其他的不成功的方 法不一一介绍,不是说那些方法没用,而是在有多个Activity的特定环境下无效,在单个Activity中其他方法也能测试通过。好了
下面是代码。该方法的原理是用一个list记录每次启动的acitivity,在退出时候循环退出改list中保存的acitivity,这样就做到了所 有的acitivity完美退出。

先写一个类继承Application

package com.zhaoba.service;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.Application;

public class  AgentApp extends Application {
private List<Activity> activities = new ArrayList<Activity>();
private static AgentApp instance;
private AgentApp(){

}
//单例模式中获取唯一的application
public static AgentApp getInstance(){
if(null==instance){
instance=new AgentApp();
}
return instance;
}
//存放Activity到list中
public  void addActivity(Activity activity) {
activities.add(activity);

}
@Override
//遍历存放在list中的Activity并退出
public void onTerminate() {
super.onTerminate();
for (Activity activity : activities) {
activity.finish();
}
android.os.Process.killProcess(android.os.Process.myPid()) ;
}
}


然后在每个要acitivity的oncreate方法中添加下面的代码:

AgentApp.getInstance().addActivity(this);

最后在你要退出的界面执行下面的代码:

AgentApp.getInstance().onTerminate();

只需这三步,就可以做到完美退出了。
很实用

转自:

http://linapex.blog.163.com/blog/static/189237516201251553215917/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: