Способ работы Android состоит в том, что действия живут в стеке (что, возможно, вам известно), поэтому, если A вызывает B, вызывает C вызовы D
Стек выглядит как
// D - Current
// C
// B
// A
Если всеВы пытаетесь сделать, чтобы убедиться, что C, B, A больше не находятся в стеке, тогда вы должны вызывать finish () перед вызовом следующего действия
A.startActivity(B)
A.finsh()
---
B.startActivity(C)
B.finish()
И так далее, поэтому я предполагаю, что мойСледующий вопрос: почему вы пытаетесь сделать это через текущую активность, а не через функцию вызова, как это было задумано?
Вы также можете использовать флаги намерений, такие как FLAG_ACTIVITY_CLEAR_TOP, чтобы очистить список истории всего, кроме самого нового действия, что, возможно, вы пытаетесь сделать?