2015-10-14 21 views
0

這是Android文檔圖像:具有'singleTask'啓動模式的活動如何在任務中不是根活動?

enter image description here

活動Y具有「singleTask」啓動模式,但它不是根系活力的任務,那就是活動X.它是如何發生的?

UPD:

documentation

「singleTask」

系統將創建一個新的任務和新任務的根實例化的活動。但是,如果活動的實例已經存在於單獨的任務中,則系統通過調用onNewIntent()方法將意圖路由到現有實例,而不是創建新實例。一次只能有一個活動實例。 注意:儘管活動在新任務中開始,但後退按鈕仍會將用戶返回到上一個活動。

回答

0

我認爲答案是,此活動是與FLAG_ACTIVITY_SINGLE_TOP標誌意圖啓動的,因爲intents的優先級高於xml標籤。

0

單任務僅表示此活動只能創建一次比照本網站:http://inthecheesefactory.com/blog/understand-android-activity-launchmode/en

如果該活動是根與否沒關係。

singleTask:

這種模式是從標準和singleTop很大的不同。具有singleTask launchMode的活動 被允許在 系統(a.k.a. Singleton)中只有一個實例。如果系統中存在活動實例 ,則整個任務持有實例將移至頂層 ,而Intent將通過onNewIntent()方法傳遞。 否則,將創建新的活動並將其放置在適當的 任務中。

+0

嗯,它不同意正式文件...我剛剛發佈了一個更新的問題。 – TpoM6oH

+0

儘管在第二次看來,它似乎是一樣的,開始一個活動的唯一方法是創建一個新的任務,它將在根。 – TpoM6oH