2011-12-16 44 views
4

我剛纔注意到,參數FLAG_ACTIVITY_SINGLE_TASK沒有在Android開發者文檔中更多的可用:缺少Android意圖參數FLAG_ACTIVITY_SINGLE_TASK?

我只是想做到這一點:

removeCard.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TASK); startActivity(removeCard);

我已經在谷歌的代碼中看到過這樣一個參數,但是Java編譯器只是告訴我它不存在。

我只能開始使用這個參數主要活動,但我必須配置清單文件來執行此:

機器人:launchMode =「singleTask」

這不適用於活動工作除了應用程序啓動時啓動的主要活動。

有人知道爲什麼此參數爲Intent消失嗎?

問候, 弗朗茨

回答

1

android:launchMode = "singleTask"應該正確使用時,所有活動工作,你確定你是不是指的FLAG_ACTIVITY_SINGLE_TASK這是仍然存在,似乎做你想要什麼。

公共靜態最終詮釋FLAG_ACTIVITY_SINGLE_TOP

自:API級別1如果設置,活動將不會被它是否 已經處於歷史堆棧的頂部運行啓動。

+0

FLAG_ACTIVITY_SINGLE_TASK和FLAG_ACTIVITY_SINGLE_TOP是不一樣的。我試圖通過FLAG_ACTIVITY_SINGLE_TASK作爲參數。我不想使用FLAG_ACTIVITY_SINGLE_TOP。但是這個參數在Android文檔中不再存在。 – user255607 2011-12-19 08:26:14

3

好了,所以周圍有一看後,我設法弄清楚,有沒有這樣的事情FLAG_ACTIVITY_SINGLE_TASK或FLAG_ACTIVITY_SINGLE_INSTANCE,也沒有出現更被。這是因爲您正在查找只能通過清單中定義的應用程序啓動模式定義的值。只有FLAG_ACTIVITY_SINGLE_TOP可用作意向標誌。因此,如果你想使用任何singleTask,singleInstance,singleTop或標準的啓動模式,他們必須在清單中定義:

<activity 
    android:name="com.company.ActivityName" 
    android:launchMode="singleTask"> 
</activity> 

查看文檔中的launchMode部分:http://developer.android.com/guide/topics/manifest/activity-element.html

0

無它不會丟失。從開發者文檔...... Using Intent flags

FLAG_ACTIVITY_NEW_TASK 開始在一個新的任務活動。如果某個任務已經在運行,您現在正在啓動該任務,那麼該任務將恢復到前臺,並且其最後狀態會恢復,並且該活動會在onNewIntent()中接收到新的意圖。 這產生與上一節中討論的「singleTask」launchMode值相同的行爲。

這意味着FLAG_ACTIVITY_NEW_TASK一樣做Singletask做