2016-06-22 66 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顯示在總覽畫面中。

相關問題