onBackPressed() 应该调用之前 activity 的 onBackPressed()

onBackPressed() should call previous activity's onBackPressed()

所以问题来了,我执行 A → B,然后从 B 我执行 B → C,现在当在 C 中按下后退按钮时,我想返回到 A。所以开始时流程是 A → B → C 但我想在启动 C 时清除 B,所以当从 C 按下后我回到 A。 我知道我可以从 C 和 CLEAR_TOP 开始 A,但如果有的话,我正在寻找另一种选择。

谢谢

在 Activity 上传递 Intent 后调用 finish();,您不想在返回时打开。

你可以调用finish();在你开始意图 B 之后。

您只需拨打电话finish()

Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();
Intent intent = new Intent(this, C.class);
startActivity(intent);
finish();

如果在开始 C Activity 后调用 finish(),在 B Activity 中。您可以从堆栈中删除 B Activity。所以如果你在 C 中按回,你会看到 A Activity.

    //FROM A TO B
    Intent A = new Intent(A.this,B.class);
    startActivity(A);

    //FROM B TO C
    Intent B = new Intent(B.this,C.class);
    startActivity(B);
    finish();

    //FROM C TO A
    onBackPressed(); you can go directly to A.

希望对您有所帮助