這裏的另一項活動是我的活動方案:啓動活動將堆棧
A1 - > A2 - >(A3) - > A4
我目前在A2,我想從去A2直接轉到A4,但如果用戶按下A4中的後退按鈕,則轉到A3。如果用戶按下A3中的後退按鈕,則轉到A2,並且如果用戶按下A2中的後退按鈕,則轉到A1。哪一個是實現這一目標的最佳方式?
我已經試過三個不同的選項至今:
使用TaskStackBuilder:無法實現正是我想要的,因爲我是創建活動的一個新的堆棧,所以A1和A2在那裏重建(我寧願他們不要被重新創建)。
從A2連續調用startActivity(A3)和startActivity(A4)。
從A2調用startActivity(A3),設置一個Intent Extra。在A3的onCreate()方法中,檢查Intent Extra的值,並根據它的值自動啓動A4。
您認爲哪一種方法可以達到我想要的效果?
我想要這樣做的主要原因是因爲A2是一種通知中心。我想通過創建足夠的路線/活動堆棧將用戶重定向到選定的內容。 – neoxigen
在選擇#3中,我將不得不爲每個要重定向到另一個活動的活動修改onCreate()方法。在選擇#2中我不需要那樣做。考慮到這一點,你是否仍然認爲#3是最佳選擇? – neoxigen
是的,我仍然認爲#3是最好的選擇。重定向到另一個活動就像2行代碼。至少這可以讓你清楚6個月後回去看看你在做什麼。我一直推薦這種類型的「調度員」活動來解決您需要以非Andoid直接支持的方式更改正常導航流程的情況。 –