2013-08-07 159 views
2

我是新来的Android并开始了活动A - B - C - D。从活动D开始,当我再次打开活动A时,我该如何开始以便活动B和C不完成和A再次启动?应该只有一个活动A.开始活动并且不摧毁其他活动

在此先感谢。

回答

5

使用Intent FlagFLAG_ACTIVITY_REORDER_TO_FRONT

在d

Intent i = new Intent(ActivityD.this, ActivityA.class); 
i.setFlags(FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(i); 

这只会带来ActivityA堆栈的前面,并留下BC他们在哪里我相信这是你想要的。那么如果你想从堆栈中删除它,你显然可以在D上调用finish()

您可以在Intent Docs中找到所有可用的标志

+0

有tabHost活动。当我试图从Tabhostactivity开始A然后不开放时,我在活动D中。 – user2601652

+0

它不以我建议的方式打开?你有什么错误吗?你确定代码已经达到? – codeMagic