如何杀死堆栈活动

时间:2012-04-07 05:39:58

标签: android android-activity

请告诉我任何一个,如何杀死以前堆积的活动。我的要求就是这样  让我离开活动吧     甲---->乙-----&以及c ------> d - - - - > e  然后活动堆栈将是 E-D-C-B-A  现在我在 E 如果我的所有工作都已完成,那么我将进入活动 B  使用

startActivity(intent); 

this.finish();

此代码仅会杀死 E 活动,但我也想杀死 C D 活动。 我怎样才能做到这一点。 谢谢。

3 个答案:

答案 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)。

http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent,int)