2011-12-26 60 views
1

返回鍵按有那裏有3個活動的Android應用程序:如何明確後退堆棧活動在安卓

MA - MainActivity(當應用程序啓動推出) AC1 - 活動1 - 聲明爲androidLaunchMode =」 singleInstance」 AC2- Activity2-聲明爲androidLaunchMode =」 singleInstance」

的活動初始流動是 MA - > AC1 回MA MA - > AC2

因此,總流量就像MA - > AC1 - > MA - > AC2 現在當我按回時,我希望流量爲 AC2 - > MA來關閉應用程序。

所以,在MA的背上,我想清除後面的一堆活動。 那麼,如何在MA的onKeyDown()中處理這個?

+0

我想你必須完成後面的活動。 – Newts 2011-12-26 13:23:29

+0

我試過整理。但沒有任何反應。即使onDestroy()不被調用。 – EnthuDeveloper 2011-12-26 13:25:15

回答

2

當你調用從AC1 MA下面放標誌的意圖有關設置FLAG_ACTIVITY_CLEAR_TOP標誌

FLAG_ACTIVITY_REORDER_TO_FRONT 

FLAG_ACTIVITY_CLEAR_TOP 
+0

我試着從AC2-> MA調用這些標誌。這是要求。但沒有奏效。儘管如此,我仍然可以看到堆棧中的舊活動。有沒有簡單的方法來清除堆棧中的所有活動而不向用戶顯示? – EnthuDeveloper 2011-12-26 13:31:26

+0

你還沒有仔細閱讀答案我說你從AC1打電話給MA的時間,然後設置這兩個標誌它將工作 – ingsaurabh 2011-12-26 14:35:57

+0

謝謝Saurabh。問題仍然存在。我的問題是推出的活動進展順利。但是當我按下回車鍵時,所有訪問過的活動都保留在堆棧中。我不想那樣。 – EnthuDeveloper 2011-12-26 14:44:06

0

什麼?

+0

我已經在使用它了。但仍然沒有清除堆棧。 – EnthuDeveloper 2011-12-26 13:47:42

0

嘗試startActivityForResult()

經過以下幾個環節

http://micropilot.tistory.com/1577 http://rahulonblog.blogspot.com/2010/05/android-startactivityforresult-example.html