本文参考郭霖大神的第一行代码,传送门:
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();