我剛剛學習Android編程。我理解它的方式是服務像堆棧一樣工作,有沒有辦法讓活動返回到啓動應用程序的第一個活動,而不是前一個活動。有沒有辦法讓Android應用直接返回到它開始的活動?
例如,假設我有4項活動,a,b,c,d。有沒有一種方法讓活動d有一個按鈕可以調出活動?而不是活動d去c,並且c回到b?
我剛剛學習Android編程。我理解它的方式是服務像堆棧一樣工作,有沒有辦法讓活動返回到啓動應用程序的第一個活動,而不是前一個活動。有沒有辦法讓Android應用直接返回到它開始的活動?
例如,假設我有4項活動,a,b,c,d。有沒有一種方法讓活動d有一個按鈕可以調出活動?而不是活動d去c,並且c回到b?
的意圖可以再次開始活動一個,但使用意大利國旗:
FLAG_ACTIVITY_REORDER_TO_FRONT
如果傳遞給Context.startActivity()的意圖設置,該標誌將導致啓動的活動被帶到其任務的歷史堆棧的前方,如果它已經在運行。
利用這一點,你會重用活動的實例已經在運行,而不是開始一個新的。請注意,這樣做,活動實例b,Ç和d將繼續留在返回堆疊(現活動一個後)。
否則,如果要完成這個活動(從後面堆棧中刪除它們)就可以開始活動一個(從d)與this other flag:
FLAG_ACTIVITY_CLEAR_TOP
如果設置,並且正在啓動的活動已在當前任務中運行,則不會啓動該活動的新實例,而是關閉其上的所有其他活動,並將此Intent交付給(現在在上面)作爲一個老活動新的意圖。
編輯:這是讀一個很好的資源,如果你還沒有做這些事: Tasks and Back Stack。
是的,你可以做到這一點。您只需將活動a的意圖編碼到按鈕即可。
您可以通過Intents
將信息發送到不同的Activities
。
Intent myIntent = new Intent(this, AvitivityName.class);
startActivity(myIntent);
不要忘記添加Activities
在AndroidManifest.xml
。
下面是Android上Intents
一些教程:
的可能重複的[?光潔度()活性兩次機器人](http://stackoverflow.com/questions/10808223/finish-activity-twice-in-android) –