2012-05-31 49 views
0

我剛剛學習Android編程。我理解它的方式是服務像堆棧一樣工作,有沒有辦法讓活動返回到啓動應用程序的第一個活動,而不是前一個活動。有沒有辦法讓Android應用直接返回到它開始的活動?

例如,假設我有4項活動,a,b,c,d。有沒有一種方法讓活動d有一個按鈕可以調出活動?而不是活動d去c,並且c回到b?

+0

的可能重複的[?光潔度()活性兩次機器人](http://stackoverflow.com/questions/10808223/finish-activity-twice-in-android) –

回答

1

的意圖可以再次開始活動一個,但使用意大利國旗:

FLAG_ACTIVITY_REORDER_TO_FRONT

android docs

如果傳遞給Context.startActivity()的意圖設置,該標誌將導致啓動的活動被帶到其任務的歷史堆棧的前方,如果它已經在運行。

利用這一點,你會重用活動的實例已經在運行,而不是開始一個新的。請注意,這樣做,活動實例bÇd將繼續留在返回堆疊(現活動一個後)。

否則,如果要完成這個活動(從後面堆棧中刪除它們)就可以開始活動一個(從d)與this other flag

FLAG_ACTIVITY_CLEAR_TOP

如果設置,並且正在啓動的活動已在當前任務中運行,則不會啓動該活動的新實例,而是關閉其上的所有其他活動,並將此Intent交付給(現在在上面)作爲一個老活動新的意圖。

編輯:這是讀一個很好的資源,如果你還沒有做這些事: Tasks and Back Stack

0

是的,你可以做到這一點。您只需將活動a的意圖編碼到按鈕即可。

0

使用

finish(): 

您將恢復到主頁的命令

要不寫指向

+0

它是終點(); – user1424394

相關問題