public class AcitivityCollector{
public static List<Activity> activities =new ArrauList<>();
public static void addActivity(Activity activity){
activities .add(activity);
}
public static void removeActivity(Activity activity){
activities .remove(activity);
}
//退出所有的Activity
public static void finishAll(){
for(Activity activity:activities){
if(!activity.isFinishing()){
activity.finish();
}
}
}
}
让所有的类继承BaseActivity即可
public class BaseActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
在需要结束应用时 发送一个特定的广播。每个Activity收到广播后,关闭即可,递归关闭
方案3 打开页面的时候使用startActivity,然后自己加标识 根据标识在onActivity中finish() 递归关闭