📅  最后修改于: 2023-12-03 15:09:12.967000             🧑  作者: Mango
在 Android 中,活动堆栈是用于保存活动(Activity)的一种数据结构。每当启动一个新的活动时,它就会被推到堆栈中,并成为当前活动。当一个活动被销毁时,它会从堆栈中弹出,回到上一个活动。但是,有时候我们可能想要清除整个活动堆栈,例如在用户注销时。
下面介绍如何清除 Android 中的活动堆栈。
我们可以利用 Intent 的 FLAG_ACTIVITY_NEW_TASK 标志来清除活动堆栈。具体步骤如下:
Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
在此之后,整个活动堆栈将被清除,并且登录活动将成为新的根活动。
TaskStackBuilder 是 Android 提供的一个实用类,它可以帮助我们清除活动堆栈并创建新的任务。具体步骤如下:
Intent intent = new Intent(this, LoginActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addNextIntentWithParentStack(intent);
stackBuilder.startActivities();
在此之后,整个活动堆栈将被清除,并且登录活动将成为新的根活动。
以上就是如何清除 Android 中的活动堆栈的两种方法。根据实际需求选择合适的方法即可。