Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android——在启动一个新活动时杀死多个以前的活动_Java_Android_Android Activity_Android Intent - Fatal编程技术网

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”

如果这对您的事业没有帮助,我提前表示歉意:)

这非常适合我的工作!只希望你能多一点控制,从“历史”中删除哪些活动。谢谢!