如何重用意图并将其带到前面?

时间:2016-04-20 16:16:52

标签: java android android-intent

我有一个HashMap来跟踪我的运行意图;每次我启动一个运行自定义ChatActivity类的新intent时,我都会将它保存到HashMap中。

意图保持活跃(我不使用finish());我希望能够将其中一个“退回”,以便在激活意图时我所改变的每个视图和信息仍然存在。

我曾尝试过使用各种形式的旗帜,但没有成功。

Intent intent = data.getDictionary().get(getName(position));
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

似乎当我使用标志时没有任何事情发生,当我不使用它时,它只是从新的开始一个新的活动(不是我想要的行为)。

我怀疑我的问题是因为我所有的意图都在同一个班级,但我会让你成为法官。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可能需要在清单文件中尝试这个:android:launchMode="singleTop"

根据文件:

  

如果,在启动活动时,已经有一个实例   前景中与之交互的相同活动类   用户,然后重新使用该实例。这个现有的实例将收到一个   使用新的Intent调用Activity.onNewIntent()   启动。