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

Android 随时随地退出程序

2017-05-12 20:09 127 查看
    如果我们的程序需要一个注销或者退出的功能(即随时能退出程序),那我们就可以用 一个专门的集合类对所有的活动进行管理

    新建一个ActivityCollector类作为活动管理器,代码如下所示

public class ActivityCollector{
public static List<Activity> activities = new ArrayList<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();
}
}
system.exit(0);		//system.exit(int i); i=0,表示正常退出;i>0,表示非正常退出。
}
}
    在活动管理器中,我们通过一个List来暂存活动,然后提供了一个addActivity()方法来向List中添加一个活动,提供了一个removeActivity()方法来从List中移除活动,最后提供了一个finishAll()方法来将List中存储的活动全部销毁掉(也就是清空活动),然后退出程序。

    接下来修改BaseActivity中的代码,如下所示

public class BaseActivity extends Activity{
@Override
protected void onCreated(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ActivityCollecter.addActivity(this);
}
@Override
protected void onDestroy(){
super.onDestroy();
ActivityCollecter.removeActivity(this);
}
}
    在BaseAcitivy的onCreate()方法中调用了ActivityCollecter的addActivity()方法,表明将当前正在创建的活动添加到活动管理器里。然后在BaseActivity中重写onDestroy()方法,并调用ActivityCollecter的removeActivity()方法,表明将一个马上要销毁的活动从活动管理器中移除。

    以后,无论在什么地方想要退出程序,只需要调用ActivityCollecter.finishAll()方法就可以了。

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