去两个活动回来?

iTu*_*rki 20 android android-activity

我有这个活动序列: Avtivity01 => Avtivity02 => Avtivity03

您可以去Avtivity01Avtivity02你点击一个按钮后.

您可以去Avtivity02Avtivity03你点击一个按钮后.

-

我想从去Activity03Activity01 我点击一个按钮后.

-

注意:

我不想使用Intent,因为我想要Activity01 按下后退按钮Activity02

请问怎么做?

Gle*_*ger 44

你为什么不能用Intent?单击按钮时可以使用FLAG_ACTIVITY_CLEAR_TOP. 编辑:如果要保留原始实例Activity,可以将此标志与FLAG_ACTIVITY_SINGLE_TOP结合使用.

您是否希望能够按下Activity03中的按钮返回Activity02?如果您总是希望它返回到Activity01,您可以选择android:noHistory="true"在清单中的Activity02上使用,只需调用finish()Activity03即可.


Muh*_*lmi 6

我也遇到了同样的问题,

简短的答案是将这一行添加到意图中。

intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
Run Code Online (Sandbox Code Playgroud)

长答案是:

我有MainActivity,我想做的是从开始,然后从 开始,我想单击其中的一个按钮来关闭这两个按钮,并且不调用一个新的按钮,我希望它能够正常工作,因为我回到它而不是创建一个新的按钮我最需要的是保持后退按钮功能正常,如果我需要更改我的一些选择,这样我就无法在启动后调用或清单中的任何其他解决方案,因为这些解决方案会杀死我无法返回到返回按钮。SecondActivityThirdActivitySecondActivityMainActivityThirdActivitySecondActivityThirdActivitySecondActivityThirdActivityMainActivityThirdActivitySecondActivitySecondActivityfinish();SecondActivityThirdActivityandroid:noHistory="true"SecondActivitySecondActivity

所以这个标志为我解决了问题FLAG_ACTIVITY_REORDER_TO_FRONT

FLAG_ACTIVITY_REORDER_TO_FRONT

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

转到此处参考

所以我尝试使用此代码在单击 中的按钮时返回我的MainActivity位置。我希望这能帮到您。ThirdActivityThirdActivity

Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)


Suj*_*U N 5

您可以使用Intent返回多个屏幕,并使用标志来防止返回同一屏幕:

Intent gotoScreenVar = new Intent(goFromScreenCls.this, goToScreenCls.class);

gotoScreenVar.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(gotoScreenVar);
Run Code Online (Sandbox Code Playgroud)