【问题标题】:how to keep multiple activities of the same app in the recent-apps list如何在最近的应用程序列表中保留同一应用程序的多个活动
【发布时间】:2016-01-19 01:21:08
【问题描述】:

我有一个应用程序,其中包含两个活动 A 和 B,都具有启动模式 singleInstance。我注意到即使 A 和 B 都在后台运行,也只有最后一个活动显示在最近的应用程序列表中。是否可以将 A 和 B 都保留在最近的应用程序列表中?谢谢。

【问题讨论】:

  • 他们有相同的applicationId。

标签: android android-recents


【解决方案1】:

在 AndroidManifest 中,确保为每个 Activity 设置不同的元素的 android:taskAffinity 属性。例如:

<activity
    android:name="com.example.ActivityA"
    android:label="Activity A"
    android:launchMode="singleInstance"
    android:taskAffinity="com.example.AffinityA" >
</activity>
<activity
    android:name="com.example.ActivityB"
    android:label="Activity B"
    android:launchMode="singleInstance"
    android:taskAffinity="com.example.AffinityB" >
</activity>

【讨论】:

  • 这应该是公认的答案,FLAG_ACTIVITY_NEW_TASK 实际上检查已经存在的任务,因为在清单中定义上面定义的这个标志确实会创建一个单独的任务,并且您可以看到最近的应用程序堆栈中存在不同的活动。跨度>
  • 这一定是公认的答案,因为它在 2020 年帮助了我,我几乎花了一整天的时间才通过这个答案找到解决方案。它为这个问题提供了最明亮的光线。谢谢@JayWozz,并在我的问题中将您推荐到这里stackoverflow.com/q/60349723/9810130
  • 投票并感谢您在此处提供此答案
【解决方案2】:

诀窍是通过启用FLAG_ACTIVITY_NEW_TASK 标志的Intent 启动新活动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    相关资源
    最近更新 更多