假設:我有兩個類MainActivity和SecondActivity將某個活動帶到前面
首先,我的應用程序以MainActivity的一個實例開始。在MainActivity中,有幾個按鈕會在單擊時啓動SecondActivity。每次啓動一個SecondActivty,我都會通過putExtra函數將一個diffirent參數添加到該SecondActivity中,因此每個SecondActivity都會顯示每個不同的內容。
而且我用這個代碼SecondActivity:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
所以每次後退按鈕被按下的SecondActivity,也不會被破壞。
現在,例如,我有這樣的場景:
MainActivity == click_a_button ==> SencondActivity(INSTANCE1) == press_back_button ==> MainActivity == click_another_button ==> SecondActivity(INSTANCE2)== press_back_button ==> MainActivity (*)
停止在步驟(*):從這裏(在MainActivity中),用戶按下啓動的按鈕instance1,我的問題是如何使SecondActivity(instance1)到達前面?
P/S:我讀了約Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
,但不知道如何在我的情況下使用它。
我想如果你按後退按鈕上的活動實例,它會由SO被破壞,你將不能夠帶來正面的INSTANCE1 – digulino
我有行'moveTaskToBack(真);'在我的SecondActivity中,所以它不會被破壞 – Leo
我覺得你很困惑。 'moveTaskToBack()'不會改變任務內活動的順序。似乎你正在經歷很多麻煩才能避開標準行爲。當用戶使用「返回」按鈕返回MainActivity時,爲什麼不讓SecondActivity完成(並銷燬),並讓用戶選擇下一件事情時創建一個新的SecondActivity實例。你的方法背後的推理是什麼? –