Java Android——在启动一个新活动时杀死多个以前的活动
因此,我知道,只需执行以下操作,即可终止当前活动并启动新活动:Java Android——在启动一个新活动时杀死多个以前的活动,java,android,android-activity,android-intent,Java,Android,Android Activity,Android Intent,因此,我知道,只需执行以下操作,即可终止当前活动并启动新活动: //Presumably called from class A Intent i = new Intent(A.this, B.class); startActivity(i); A.this.finish(); 我意识到其中有一些过于冗长的代码,我只是想彻底了解一下。因此,如果我们假设这是从某个活动A调用的,那么我们知道A将完成,B将开始,当您按下B中的后退按钮时,您将被带到活动A之前运行的活动 我的问题是,这能再进一步吗?例
//Presumably called from class A
Intent i = new Intent(A.this, B.class);
startActivity(i);
A.this.finish();
我意识到其中有一些过于冗长的代码,我只是想彻底了解一下。因此,如果我们假设这是从某个活动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();
提前感谢您提供的任何见解!:-) 为什么我认为您正在寻找
意图
标志
这将通过目标活动类的最后一个实例清除所有活动的后堆栈(如果从未调用过新活动,则清除所有活动)。我不确定这是否对您有帮助(它没有专门解决您的问题)但通常人们想这样做,因为他们有循环代码,导致相同的活动被多次启动。您可以将一个活动指定为(基本上)单个活动,这样无论您启动它多少次,它都会启动同一个活动。。。只需在该活动的清单中添加
android:launchMode=“singleTask”
。
如果这对您的事业没有帮助,我提前表示歉意:)这非常适合我的工作!只希望你能多一点控制,从“历史”中删除哪些活动。谢谢!