1.建立一个集合类,方便管理所有的活动
public class ActivityCollector {
public static List<Activity> mActivities = new ArrayList<>();
public static void addActivity(Activity activity) {
mActivities.add(activity);
}
public static void removeActivity(Activity activity) {
mActivities.remove(activity);
}
public static void finishAll() {
//遍历
for (Activity activity : mActivities) {
if (!activity.isFinishing()) {
activity.finish();
}
}
mActivities.clear();
}
}
2.活动管理类应用
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将当前创建的活动添加到互动管理器里面
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
//将一个马上销毁的的互动从活动管理器里面移除
ActivityCollector.removeActivity(this);
}
}
在我们新建立的活动中继承此BaseActivity ,之后在我们想要随时想要退出程序的地方调用
ActivityCollector.finishAll();
如果想要保证程序完全退出,加上杀掉当前进程的代码
android.os.Process.killProcess(android.os.Process.myPid());
android.os是包名