2012-07-20 42 views
2

我有兩個活動任務在Android應用程序中運行,我想要一種方式完全彈出第二個任務並返回到第一個任務的頂部。問題是,第一個堆棧中的首要任務可能是多個不同的活動。Android - 有沒有辦法彈出整個任務?

說我有任務1與活動

任務1堆棧 - > A1 - > A2 - > A3

我然後啓動任務2:

任務2 - > B1 - > B2 - > B3

當我到達B3時,我想彈出整個任務2堆棧並返回到A3。我知道我可以用A3開始一個新的意圖爲指定的意圖活動課但是我的任務1看起來是這樣的:

任務1 - > A1 - > A2

有沒有跟蹤最後沒有簡單的方法任務1的任務是簡單地將任務從任務2中彈出,只要將我返回到任務1堆棧的頂部,而不管任務的類是什麼?

回答

1

我不確定這是否是您想要的,但是當您創建調用新活動的意圖時,您可以設置一個清除堆棧的標誌。

Intent intent = new Intent(this, Activity.class);    
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 

您可以使用eclipse auto complete來查看其他可用標誌,如果這不正是您需要的。 這裏是所有標誌的列表以及它們的作用。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

+0

謝謝,我可能最終不得不走這條路線,但它不是我的第一選擇。我真的不想開始一項新的活動 - 我真正想要做的就是吹走我上面示例中任務2中的活動,並且只是繼續任務1中堆棧頂部的任何活動。 我寧願不必跟蹤其他堆棧/任務上的內容,然後重新啓動活動以恢復該任務(如果這樣做有任何意義的話)。 – 2012-07-22 17:15:28

+1

第二個想法是@glethien,這讓我相當接近我想做的事。認爲FLAG_ACTIVITY_CLEAR_TOP會讓我回到A1或B1,但它似乎確實爲我清除了整個B堆棧。感謝您的幫助! – 2012-07-24 14:54:09

相關問題