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

android随时随地退出程序和知晓当前是在哪一个活动

2017-08-07 14:43 344 查看
本文参考郭霖大神的第一行代码,传送门:
http://blog.csdn.net/guolin_blog/
一、知晓当前属于哪个activity

1、新建一个BaseActivity类,继承自AppCompatActivity,并重写onCreate()方法。

public class BaseActivity extends AppCompatActivity{
@Overide
protected void onCreate(Bundle saveInstanceState){
super.onCreate(savedInstanceState);
Log.d("BaseActivity",getClass().getSimpleName());
}
}


2、让BaseActivity类成为项目中所有Activity的父类。运行程序,点击那个activity,就可以在logcat中看打印信息。

二、随时随地退出程序

需要用一个专门的集合类对所有活动进行管理

1、新建一个ActivityCollector类作为活动管理器

public class ActivityCollector{
public static List<Activity>activities=new ArrayList<>();
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();
}
}
activities.clear();
}
}


在活动管理器中,通过一个List来暂存活动,addActivity()方法往List添加活动,removeActivity()方法用于从List中移除活动,提供finishAll()方法将List存储活动全部销毁掉

2、修改BaseActivity中代码

在onCreate()方法中添加以下代码:

ActivityCollector.addActivity(this);


重写onDestory()方法

protected void onDestroy(){
super.onDestroy();
ActivityCollector.removeActivity(this);
}


3、你想在哪个activity中退出程序,可以添加以下代码:

ActivityCollector.finishAll();




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