建立ActivityColletor类,并在类中建立List 对象,同时创建三个方法,addActivity()、removeActivity()、finish();第一个方法是用来添加activity到集合中,即每跳转一个activity就为list集合增添一个activity,第二个方法就是在集合中remove掉activity,而最后一个方法则是把整个集合的内容的清除掉。
public class ActivityColletor {
private static List<Activity> listActivity = new ArrayList<>();
public static void addActivity(Activity activity){
listActivity.add(activity);
}
public static void removeActivity(Activity activity){
listActivity.remove(activity);
}
public static void finish(){
for (Activity activity: listActivity){
if(!activity.isFinishing()){
activity.finish();
}
}
}
}
使用ActivityColletor类,每建立一个activity类时,都会调用OnCreate方法来初始化,那么我们就是此方法中调用管理类的addActivity()方法,把建立的活动类添加到我们的管理类集合中,方便之后的管理。每一个activity都有创建的方法,自然后也会有销毁的方法,那么我们就在onDestroy()方法中调用RemoveActivity()从集合中清除。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
setContentView(R.layout.layout_main2);
ActivityColletor.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityColletor.removeActivity(this);
}
}
一键退出应用
btnGoBack = (Button) findViewById(R.id.btn_goback_id);
btnGoBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityColletor.finish(); //退出应用
}
});