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

Android 退出程序时关闭所有的activity的几种方法

2015-08-04 23:36 615 查看

1、描述

如果目前界面还停留在之前的界面上,会法相当要退出程序是非常不方便的,Home键只能把程序挂起,并没有退出程序。
解决这个有几个方法可以进行考虑


2、第一种方法

使用一个专门的集合类对所有的activity进行管理


pubic class ActivityCollector{
public static List<Activity> activities = new ArraryList<Activity>();

public static void addActivity(Activity activity){
activities.add(activity);
}

public static void removeActivity(Activity activity){
activities.remove(activity); }

public static void finishAll(){
for(Activity activity : activities){
if(!activity.isFinishing()){
activity.finish();
}
}
}

}


在每个Activity的OnCreate方法当中该Activity加入到List当中,在onDestory当中异常,若要关闭所有的则执行finishAll即可。

public class BaseActivity extends Activity{
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInStanceState);
Log.d("BaseActivity",getClass.getSimpleName());
ActivityCollector.addActivity(this);//添加进入
}

@Override
protected void onDestory(){
super.onDestory();
ActivityCollector.removeActivity(this);//移除
}
}


3、第二种方法

在每个Activity当中使用广播接收器,在关闭程序时发送全部本地广播,让每个Activity的自行关闭

4、未完待续

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