Android - 而不是对新课程/活动推出新意图,如何回到开放活动/课程?

时间:2012-01-08 15:29:21

标签: java android

我的代码允许我启动一个新的活动/类:

Intent intent = new Intent(activity1.this, activity2.class); 
startActivity(intent); 
finish(); 

如果我已经打开了一个活动,并且只想重新打开它,而不是重新打开它,那么多次打开它会怎么样...所以我想切换回已经打开的活动/类? / p>

5 个答案:

答案 0 :(得分:4)

Intent intent = new Intent(activity1.this, activity2.class); 
intent .setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

答案 1 :(得分:0)

这是一回事。 Android操作系统不会创建2个不同版本的活动,它可以与已创建的活动一起使用。

答案 2 :(得分:0)

非常简单:

finish();

如果你想在backstack中选择一个已经存在的活动,而不仅仅是最新开放的活动会更复杂,我不知道你是否可以修改正常的应用程序工作流程

答案 3 :(得分:0)

添加此

FLAG_ACTIVITY_REORDER_TO_FRONT to your Intent you use with startActivity() . 

同时删除finish()

答案 4 :(得分:0)

如果我找对你,你需要使用Intent.FLAG_ACTIVITY_REORDER_TO_FRONT标志。在这种情况下,您的活动(如果之前创建的)将被带到前面。作为documentation states

  

如果在传递给Context.startActivity()的Intent中设置,   此标志将导致启动的活动   到任务的历史堆栈前面,如果它已经在运行。