java - Android:使用 FLAG ACTIVITY CLEAR TOP 时上一个 Activity 未完成

标签 java android android-intent

我是 Android 编程新手,所以我可能会错过一些重要的东西。

我想要做的是完成当前 Activity (ActivityB)和上一个 Activity (ActivityA)。 用户可以使用 FLAG_ACTIVITY_REORDER_TO_FRONT 在 ActivityA 和 ActivityB 之间切换。现在我想完成 ActivityB 和之前的 ActivityA 并开始新的 ActivityA

但是,即使在完成 ActivityB 后,之前的 ActivityA 似乎仍在运行。

代码是这样的。

Activity A

private void startActivityB() {
          Intent intent =
                    new Intent(ActivityA.this, ActivityB.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intent);
}

Activity B

private void exitActivityB() {
                       Intent intent =
                        new Intent(ActivityB.this, ActivityA.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
}

@Override
private void onBackPressed() {
        // finish ActivityB and the previous ActivityA
        Intent intent =
                new Intent(ActivityB.this, ActivityA.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(intent);

}

我这有什么错吗?如何完成之前的 ActivityA 并开始新的 ActivityA

最佳答案

尝试以下方法

Intent i = new Intent(ActivityB.this, ActivityA.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);

关于java - Android:使用 FLAG ACTIVITY CLEAR TOP 时上一个 Activity 未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55016125/

相关文章:

java - 这段代码是 ORM 的正常行为吗?

android - 如何像 C 形一样弯曲矩形的起点?

android - 2 个 Intent Filters,1 个 Activity - 哪个打开了它?

java - 未从字符串中正确删除停用词

java - 如何通过适配器将图像数组传递给 NewActivity

java - 当从另一个类调用方法时 - 返回一个难以理解的值 JAVA

java - Button.setOnClickListener(这个);错误

java - 使用ADT运行android项目频繁重启手机设备

android - 在 Android 相机 Intent 上按后退按钮时应用程序崩溃

android - 无法在我的 Android 程序中启动服务 Intent,这是怎么回事?