我的代码允许我启动一个新的活动/类:
Intent intent = new Intent(activity1.this, activity2.class);
startActivity(intent);
finish();
如果我已经打开了一个活动,并且只想重新打开它,而不是重新打开它,那么多次打开它会怎么样...所以我想切换回已经打开的活动/类? / p>
答案 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中设置, 此标志将导致启动的活动 到任务的历史堆栈前面,如果它已经在运行。