2016-06-22 36 views
2

我有一个简单的应用程序。第一(发射)活性被标记在清单作为不同行为从singleInstance活动发起的新活动

android:launchMode="singleInstance" 

The docs状态:

A“singleInstance”活性,另一方面,允许没有其他 活动成为其中的一部分其任务。这是该任务中唯一的活动。 如果它开始另一项活动,该活动分配给 不同的任务(...)

所以,当我启动从我第一次(singleInstance)活性的第二活性三星设备上的Android 5.1 ,打概述按钮,如预期的结果:第二个活动开始上自己的任务:

Test app on Samsung

在Nexus 5X运行6.0.1(也适用于运行Android 5.1模拟器)虽然,第二个活动似乎是o n个相同的任务:

Test app on Nexus 5x

,这是什么原因呢?

我说对了三星设备的行为是从上面提到的文档预计的行为吗?

三星是否真的做了正确的事,其他人不?

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

+0

我也发生这个问题...通过使用android解决:launchMode =“singleTask” –

回答

2

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

相关问题