我目前正试图找到一种方法来实现以下所需的行为
所有活动都从当前任务开始,但只能有一个实例。如果还有其他情况,那么旧的实例会被杀死而新的实例就会像默认模式下的正常活动一样启动
考虑A->B->C->D
,其中D
是最高的。
1)A->B->C->D
,活动D
开始B
类型的新活动,A->C->D->B
2)A->X->C->D
,活动D
开始B
类型的新活动,A->X->C->D->B
3)A->X->C->D->B
,活动D
开始B
类型的新活动,A->X->C->D->B
在方案3中,如果B
创建新的D
时,后备堆栈顶部已存在B
,那么旧的B
应该在之前被杀死新的B
产生于它的位置(或者替代方案,我们可以单独留下它,无论哪种方式真的)
我该如何实施?我需要在INTENT
或MANIFEST
上设置哪些标志来实现此目标?