Android - 在启动新活动时杀死多个以前的活动

3 java android android-intent android-activity

因此,我知道可以通过执行以下操作来终止当前活动并启动新活动:

//Presumably called from class A
Intent i = new Intent(A.this, B.class);
startActivity(i);
A.this.finish();
Run Code Online (Sandbox Code Playgroud)

我意识到那里有一些过于冗长的代码,我只想彻底.因此,如果我们假设从某个活动A调用了这个,那么我们知道A将完成并且B将启动,当您按下B中的后退按钮时,您将被带到活动A之前运行的活动.

我的问题是,这可以进一步采取一个级别吗?例如,我将如何实现以下目标?

//From class A
Intent i = new Intent(A.this, B.class);
startActivity(i);


//from class B
Intent i = new Intent(B.this, C.class);
startActivity(i);
A.this.finish(); //something equivalent
B.this.finish();
Run Code Online (Sandbox Code Playgroud)

提前感谢您的任何见解!:-)

Jak*_*ton 5

为什么我相信你正在寻找Intent国旗FLAG_ACTIVITY_CLEAR_TOP.

这将通过目标活动类的最后一个实例清除所有活动的后堆栈(如果从未调用过新活动,则清除所有活动的后堆栈).