2014-11-01 71 views
1

登錄 - >註冊 - > MainActivity,當我點擊返回按鈕在MainActivity,它應該顯示Android主頁,在我的情況下,它正在移動到登錄屏幕。我在SignUp活動中嘗試了以下代碼。如何清除Android中的所有現有活動堆棧

Option1: 
    Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
    startActivity(intent);   
    finish(); 

選項2:

Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent); 

回答

2

試試你的第二個選項,但有一個補充道:

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 

,它應該工作。

編輯:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
+0

我試過你的代碼,但它沒有奏效。當我點擊MainActivity中的返回按鈕時,它僅返回到SignUp。 – 2014-11-01 11:06:19

+0

啊,對不起,請查看我編輯的答案 – rom4ek 2014-11-01 11:09:55

+0

它的工作。謝謝。 – 2014-11-01 11:20:57

0

添加機器人:noHistory =「真」的清單給你不想保持活動堆棧中的活動。你也可以使用onActivityResult來達到這個目的。獲得結果調用完成()後。希望這將有助於你:)