我有3项活动(A,B,C)。对于使用向上按钮从B-> A和C-> B导航,我使用NavUtils.navigateUpFromSameTask(this); 我想要实现的是导航: A-> B-> C当我在CI时想要启动A并将附加内容中的一些数据传递给A. Challenge是将B,C保持在堆栈中,因此来自A的硬件后退按钮将返回到C.
我尝试了默认的launchMode然后是singleTask launchMode。 默认的launchMode: 问题是,当我从B-> A(使用向上按钮)导航时,重新创建活动。我只想回到堆栈中,因为它是硬件后退按钮。
当我使用singleTask进行A,B时,C活动不会重新创建,但我无法从A回到C.
有任何建议如何解决? 感谢
答案 0 :(得分:0)
虽然你的问题不是很明确,但我假设你的筹码目前是
A->B->C
并且您希望从A
启动C
并在附加内容中传递一些数据,然后您希望堆栈看起来像这样:
B->C->A
要执行此操作,您只需从A
开始C
,如下所示:
Intent intent = new Intent(this, A.class);
intent.putExtra("key", "value); // Your extras
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
这会将A
的现有实例从堆栈的底部移到顶部,并在onNewIntent()
的实例上调用A
,其中包含新的Intent
"额外&#34 ;.当用户按下BACK时,这将完成A
并返回C
。