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

Android学习-使用单例模式实现一键退出APP

2012-01-20 14:53 666 查看
http://www.ilingxi.com/blog/duanhongchang/?p=72

我们都知道Activity的finish方法只能退出当前的Activity,但如果我们希望一键退出所有已经create的Activity又该如何做呢?很简单,我们通过单例模式设计了一个管理当前活动的Activity的类,名叫MyActivityManager,代码如下:

import java.util.LinkedList;

import java.util.List;

import android.app.Activity;

import android.app.Application;

/**

* Activity管理类

* 1、activity():保存Activity

* 2、exit():关闭所有保存的Activity

* @author 段宏昌

*

*/

public class MyActivityManager extends Application {

/**

* Activity列表

*/

private List<Activity> activityList = new LinkedList<Activity>();

/**

* 全局唯一实例

*/

private static MyActivityManager instance;

/**

* 该类采用单例模式,不能实例化

*/

private MyActivityManager()

{

}

/**

* 获取类实例对象

* @return MyActivityManager

*/

public static MyActivityManager getInstance() {

if (null == instance) {

instance = new MyActivityManager();

}

return instance;

}

/**

* 保存Activity到现有列表中

* @param activity

*/

public void addActivity(Activity activity) {

activityList.add(activity);

}

/**

* 关闭保存的Activity

*/

public void exit() {

if(activityList!=null)

{

Activity activity;

for (int i=0; i<activityList.size(); i++) {

activity = activityList.get(i);

if(activity!=null)

{

if(!activity.isFinishing())

{

activity.finish();

}

activity = null;

}

activityList.remove(i);

i–;

}

}

}

}

在每个Activity的onCreate方法中调用MyActivityManager的addActivity方法,然后在需要使用一键退出的地方调用MyActivityManager中的exit方法即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐