gpt4 book ai didi

android - 在整个应用程序中只保留每个 Activity 的一个实例

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:04 24 4
gpt4 key购买 nike

我想为我在应用程序中启动的每个 Activity 保留一个单个实例。 launchMode singleTask 是一个选项,但它仅适用于一个 Activity

我要

  • 启动一个 Activity(如果没有实例并被调用)。
  • 如果该 Activity 的任何其他实例已经存在,则该实例将被带到前面而不创建新实例该 Activity 的一部分。
  • 此属性将应用于多个 Activity
  • 没有 Activity 能保证它始终位于历史堆栈的顶部。

我到目前为止的工作:

我收到了很多对我的情况无效的建议,所以我想指出这些建议,以免其他人给出相同的建议。

  • 我已将 launchMode 设置为 singleTop,这仅在 Activity 位于历史堆栈顶部时才有效。 onNewIntent()仅当 Activity 位于历史堆栈顶部时才会被调用。在我的例子中,Activity 可能位于堆栈中的任何位置。所以这是行不通的。

最佳答案

当你启动一个Activity时,这样做:

Intent intent = new Intent(this, MyActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

如果这个Activity 的实例已经存在,那么它将被移到前面。如果实例不存在,将创建一个新实例。

关于android - 在整个应用程序中只保留每个 Activity 的一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36840281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com