如何一键关闭两个活动?

How to close two activities in one button click?

有 3 个活动 A、B、C。

A 有 onCreate 个动画(仅在启动时)和 onRestart 个动画(每次重启时)。

B 有 onClick 到 C 的按钮。

C 有 "Go to A" 按钮。 (点击按钮 -> Activity C -> Activity A)

我是这样做的:

public void gotoA (View view)
{
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
}

它再次创建,启动动画出现。

如何同时关闭(或终止)两个活动?

我也试过intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);,但是没用。

我不确定你在这里想通过绑定杀死两个活动来做什么,而且你没有发布任何代码,所以我只能告诉你尝试添加

 finish(); 

之后
 startActivity(intent);

那应该关闭你的 activity

startActivityForResult 来自 Activity A->B 和 B->C,然后将 result_code 设置为 C 中的特定内容。然后在 onActivityResult 中在 B 中检查 result_code 并调用 finish。

您应该尽量避免 FLAG_ACTIVITY_CLEAR_TOP,因为它不会正确完成您的 activity,只是将其从视图中删除。

我猜您想在开始第三个活动时完成前两个活动 Activity。为此,您可以使用以下设置:

  • 从第一个 Activity 开始第二个 Activity 时,使用 startActivityForResult
  • 从第二个开始第三个 Activity 时,设置您选择发送给第一个 Activity 的结果代码,以指示它自行完成
  • 现在完成第二个Activity
  • 现在您将在第一个 Activity 的 onActivityResult() 方法中收到第二个 Activity 的终止结果代码。在这里调用 finish() 来完成第一个 Activity 以及