gpt4 book ai didi

android - 从 singleInstance Activity 启动的新 Activity 的不同行为

转载 作者:搜寻专家 更新时间:2023-11-01 09:46:12 25 4
gpt4 key购买 nike

我有一个简单的应用程序。第一个(启动) Activity 在 list 中标记为

  android:launchMode="singleInstance"

The docs声明:

A "singleInstance" activity, on the other hand, permits no other activities to be part of its task. It's the only activity in the task. If it starts another activity, that activity is assigned to a different task (...)

因此,当我在 Android 5.1 的三星设备上启动我的第一个 (singleInstance) Activity 的第二个 Activity 时,点击概览按钮,结果如预期的那样:第二个 Activity 开始于自己的任务:

Test app on Samsung

不过,在运行 6.0.1 的 Nexus 5x 上(以及运行 Android 5.1 的模拟器上),第二个 Activity 似乎是在执行相同的任务:

Test app on Nexus 5x

这是什么原因?

我认为三星设备的行为是上述文档所预期的行为吗?

三星真的在做一些其他人做不到的事情吗?

可以找到我的简单测试应用 here .

最佳答案

两种设备上的行为实际上是相同的。 singleInstance 应该为每个 Activity 打开一个新任务。在三星和 Nexus 上运行您的应用程序,将打开一个新任务。但是,最近的应用程序或概览屏幕在每个设备上的工作方式不同(正如您在关闭所有时看到的那样,Nexus 中不存在)。在 Nexus 上,一个新任务并不意味着在概览屏幕上有一个新位置。它仍然会打开一个新任务,但是打开它的任务将被置于后台并且可能不可见。在三星上,他们选择显示所有任务的背景或前景,这只是他们的设计选择。要在所有设备上获得所需的行为,您需要使用 documentLaunchMode Docs .这保证了一个新任务将被并且将作为一个新任务显示在概览屏幕中more docs .

关于android - 从 singleInstance Activity 启动的新 Activity 的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37963962/

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