1

我有一个非常烦人的问题,我一直在玩所有的 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,所以每次应用程序返回时它都会不断清除堆栈。

有什么方法可以撤消这个标志设置或其他东西,并让两个流程都按我的预期工作?

谢谢,

格言

4

0 回答 0