我在从浏览器直接获得重新创建活动实例时遇到问题。
问题是:-
Activity A 调用浏览器用标志 - 做一些事情 FLAG_ACITIVTY_NEW_TASK
。浏览器使用 Activity A 的指定 URL 方案重定向回 Activity A。重定向后,Activity A 检查意图中的令牌和其他参数。活动 A 将其意图重置为默认值setIntent()
。
问题:-
设置意图后,如果我调用相同的活动getIntent()
,它会给出浏览器调用活动 A 的意图。在按下后,我再次看到具有我之前设置的意图的活动 A 实例。
即堆栈看起来像 A-Browser Activity -A'
我认为 A 是创建的活动 A 的新实例,但实际更改会反映在活动 A 中。当我显示警报对话框时会出现同样的问题。当从后台堆栈中清除 A' 时,我看到活动 A 中的警报对话框,我在从浏览器获得重定向后显示该对话框。
首先,我不希望创建一个新实例(A')。
我通过将 Activity A 的 launchMode 设置为 signleTop 但行为相同来检查场景。
感谢您的意见。