请告诉我任何一个,如何杀死以前的堆栈活动。我的要求是这样的,让我从活动 A ----> B -----> C --- ---> d ----->电子 然后活动堆栈将EDCBA 现在我在Ë如果我所有的工作就完成了,然后我移动到活动乙 使用如何杀死堆栈活动
startActivity(intent);
this.finish();
这段代码只会杀死E活动,但我想杀C D活动也。 我该怎么做。 谢谢。
请告诉我任何一个,如何杀死以前的堆栈活动。我的要求是这样的,让我从活动 A ----> B -----> C --- ---> d ----->电子 然后活动堆栈将EDCBA 现在我在Ë如果我所有的工作就完成了,然后我移动到活动乙 使用如何杀死堆栈活动
startActivity(intent);
this.finish();
这段代码只会杀死E活动,但我想杀C D活动也。 我该怎么做。 谢谢。
一种解决方案是呼叫活动[B]与标志FLAG_ACTIVITY_CLEAR_TOP
Intent b = new Intent(this,B.class);
b.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(b);
this.finish();
这会杀了C D E
你必须通过活动情境进入intet这样就可以调用上的活动结束。
还咕想法是通过使用startActivityForResult(Intent, int).
哪里int
是正在启动的活动代码开始活动。
稍后,您可以拨打finishActivity(int requestCode)
,这将终止您提供的代码的活动。您可以在strings.XML
中拥有活动代码(编号)。
Intent intent = new Intent(this, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
将它创建活动B的新实例,或将只是把旧的面前? – 2014-06-09 08:27:25
@AndroidKiller通过http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP – 2014-06-09 09:33:55