如何控制Android后台堆栈

Vla*_*lad 5 stack android back activity-stack android-activity

可以说我有

A-> B-> C-> D->电子

在android后台堆栈中.我希望能够回到以下之一:

A->B->C
A->B
A
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?希望不会强制返回按钮点击.

var*_*rao 15

使用Android 任务和后台堆栈上的官方开发人员页面中的图像和信息,您可以看到启动Activity的所有其他方法,您只能使用FLAG_ACTIVITY_CLEAR_TOPIntent标志中的行为来确保此类行为.

您的常规后退按钮继续:

在此输入图像描述

但是,当您指定此标志时,您将获得所需的行为,如此源中的示例所示:

考虑由活动组成的任务:A,B,C,D.如果D调用具有解析为活动B的组件的Intent的startActivity(),则C和D将完成,B接收给定的Intent,从而导致现在堆栈是:A,B.


hku*_*uay 8

使用FLAG_ACTIVITY_CLEAR_TOP标志.

Intent a = new Intent(this, A.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(a);
Run Code Online (Sandbox Code Playgroud)