如果目前你手机的界面还停留在ThirdActivity,你会发现当前想退出程序是非常不方便的,需要连按三次back键才行。按Home键只是把程序挂起,并没有退出程序。其实这个问题就足以引起你的思考,如果我们的程序需要一个注销或者退出的功能该怎么办呢?必须要有一个随时随地都能退出程序的方案才行。
其实解决思路也很简单,只需要用一个专门的集合类对所有的活动进行管理就可以了,下面我们就来实现以下。
新建一个ActivityCollector类作为活动管理器,代码如下:
/**
*
*/package com.littleRich.weixin;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
/**
* @author: littleRich
* @date: 2015-8-13 下午10:32:23
* @version 1.0
* @parameter
* @since
* @return
*/
public class ActivityCollector {
/**
* 在活动管理器中,我们通过一个List来暂存活动
*/
public static List<Activity> activities = new ArrayList<Activity>();
/**
* 向List中添加一个活动
* @param activity
*/
public static void addActivity(Activity activity){
activities.add(activity);
}
/**
* 从List中移除活动
* @param activity
*/
public static void removeActivity(Activity activity){
activities.remove(activity);
}
/**
* 将List中存储的活动全部都销毁掉
*/
public static void finishAll(){
for (Activity activity : activities) {
if(!activity.isFinishing()){
activity.finish();
}
}
}
}
具体代码如下:
/**
*
*/package com.littleRich.weixin;
import android.app.Activity;
import android.os.Bundle;
/**
* @author: littleRich
* @date: 2015-8-13 下午10:51:42
* @version 1.0
* @parameter
* @since
* @return
*/
public class EveryActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}