这里的另一项活动是我的活动方案:启动活动将堆栈
A1 - > A2 - >(A3) - > A4
我目前在A2,我想从去A2直接转到A4,但如果用户按下A4中的后退按钮,则转到A3。如果用户按下A3中的后退按钮,则转到A2,并且如果用户按下A2中的后退按钮,则转到A1。哪一个是实现这一目标的最佳方式?
我已经试过三个不同的选项至今:
使用TaskStackBuilder:无法实现正是我想要的,因为我是创建活动的一个新的堆栈,所以A1和A2在那里重建(我宁愿他们不要被重新创建)。
从A2连续调用startActivity(A3)和startActivity(A4)。
从A2调用startActivity(A3),设置一个Intent Extra。在A3的onCreate()方法中,检查Intent Extra的值,并根据它的值自动启动A4。
您认为哪一种方法可以达到我想要的效果?
我想要这样做的主要原因是因为A2是一种通知中心。我想通过创建足够的路线/活动堆栈将用户重定向到选定的内容。 – neoxigen
在选择#3中,我将不得不为每个要重定向到另一个活动的活动修改onCreate()方法。在选择#2中我不需要那样做。考虑到这一点,你是否仍然认为#3是最佳选择? – neoxigen
是的,我仍然认为#3是最好的选择。重定向到另一个活动就像2行代码。至少这可以让你清楚6个月后回去看看你在做什么。我一直推荐这种类型的“调度员”活动来解决您需要以非Andoid直接支持的方式更改正常导航流程的情况。 –