从堆栈中删除 activity 的最后一个实例

Remove just last instance of an activity from stack

我有一个包含 2 个 Activity A 和 B 的应用程序,A 是主要的 activity,B 由 A 调用,但也可以从 B 本身调用。

所以我的堆栈看起来像

A,B0,B1,B2,B3

在某些情况下,我希望能够仅删除 B 的最后一个实例,因此 [android:noHistory="true"] 将不起作用。

A,B0,B1,B2,B3 => A,B0,B1,B2,B4

我怎样才能做到这一点?

以下几行将完成您正在工作的 activity,并将开始相同的 activity:

 finish();
 startActivity(getIntent());