如何操作当前任务的 Activity 返回堆栈?
How to manipulate current task's Activity back stack?
目前我有3个Activity
类 A、B和C
Activity A 是 singleTask
而其他具有默认启动模式。
考虑一个案例:用户先在A,然后启动B,再启动C。
返回堆栈现在是 ABC。
接下来,用户再次启动A。
现在的back stack是A,但是我想实现的是ABCA
我知道不设置 Activity
A 是 singleTask
可以有一个返回堆栈:ABCA。
但我真的需要 Activity A 是同一个实例。
有人知道怎么做吗?
您已经规定了两个条件:
what I would like to be achieved is ABCA.
和
I really need the Activity A to be the same instance.
这两个条件是相互矛盾的。绝对。
你想要的不可能。
就这些了。
That is not possible.
如果你想打开现有的 activity 那么
启动您的 activity 作为
Intent intent = new Intent(this, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
您确定需要 singleTask
而不是 singleTop
吗?你能描述一下你为什么需要它 singleTask
吗?
目前我有3个Activity
类 A、B和C
Activity A 是 singleTask
而其他具有默认启动模式。
考虑一个案例:用户先在A,然后启动B,再启动C。
返回堆栈现在是 ABC。
接下来,用户再次启动A。
现在的back stack是A,但是我想实现的是ABCA
我知道不设置 Activity
A 是 singleTask
可以有一个返回堆栈:ABCA。
但我真的需要 Activity A 是同一个实例。
有人知道怎么做吗?
您已经规定了两个条件:
what I would like to be achieved is ABCA.
和
I really need the Activity A to be the same instance.
这两个条件是相互矛盾的。绝对。
你想要的不可能。
就这些了。
That is not possible.
如果你想打开现有的 activity 那么
启动您的 activity 作为
Intent intent = new Intent(this, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
您确定需要 singleTask
而不是 singleTop
吗?你能描述一下你为什么需要它 singleTask
吗?