关闭所有的activity
本文参考链接:https://blog.csdn.net/perryiii/article/details/77281250
一、创建类ActivityCollect,在这个类中编写addActivity,removeActivity和finishAll等方法。
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(); } } } }
二、创建类BaseActivity,继承AppCompatActivity,并重写onCreate,onDestroy
//@RuntimePermissions public class BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityCollector.addActivity(this);//加入这一行 } @Override protected void onDestroy() { super.onDestroy(); ActivityCollector.removeActivity(this);//加入这一行 } }
三、让所有的Activity都继承BaseActivity
然后就可以在你所希望的地方调用finishAll方法。
ActivityCollector.finishAll();
最简单的教养,就是适当地回避别人的难堪。