请告诉我任何一个,如何杀死以前堆积的活动。我的要求就是这样 让我离开活动吧 甲---->乙-----&以及c ------> d - - - - > e 然后活动堆栈将是 E-D-C-B-A 现在我在 E 如果我的所有工作都已完成,那么我将进入活动 B 使用
startActivity(intent);
this.finish();
此代码仅会杀死 E 活动,但我也想杀死 C D 活动。 我怎样才能做到这一点。 谢谢。
答案 0 :(得分:6)
一种解决方案是使用标志FLAG_ACTIVITY_CLEAR_TOP调用Activity [B]
Intent b = new Intent(this,B.class);
b.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(b);
this.finish();
这会杀死C D E
答案 1 :(得分:3)
Intent intent = new Intent(this, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
答案 2 :(得分:2)
您必须将活动上下文传递给intet,以便您可以在活动上调用finish。
同样想法是使用startActivityForResult(Intent, int).
int
是您要开始的活动的代码。
稍后您可以调用finishActivity(int requestCode)
,这会终止您提供的代码的活动。您可以为strings.XML
中的活动提供代码(ID)。