我有一个非常烦人的问题,我一直在玩所有的 flags/launchMode 组合,没有任何运气。希望有人可以帮助我:-)
在我的 android 应用程序中,我必须进行活动 A 和 B。
对于流量
A -> B -> 按 Home -> 返回应用
当用户返回时显示活动 B,这正是我所期望的。
现在,我有一个通知会打开 Activity A,无论之前的活动堆栈是什么。
为此,当从我使用的通知中调用意图时
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
所以现在的流程
A -> B -> press Home -> Receive a notification -> open it
显示活动 A,这也是我所期望的。
问题是,从现在开始(直到我终止应用程序),如果我返回第一个流程,即使当我按下 Home 时活动 B 位于堆栈顶部,活动 A 也会始终显示...
我猜是因为我给了 Activity A flag Intent.FLAG_ACTIVITY_CLEAR_TOP
,所以每次应用程序返回时它都会不断清除堆栈。
有什么方法可以撤消这个标志设置或其他东西,并让两个流程都按我的预期工作?
谢谢,
格言