2010-08-30 306 views
1

在我的應用程序中,我遇到了活動歷史堆棧問題。事實上,考慮我有5個活動:Android活動歷史堆棧問題

  1. 閃屏
  2. 註冊
  3. 簽到
  4. ForgottenPassword
  5. 首頁

我會看到:

  • 首次啓動(用戶未登錄):3型動物線框可能
    • 閃屏 - >註冊 - >首頁
    • 閃屏 - >註冊(已經成員) - >簽到(有效日誌) - >首頁
    • 閃屏 - >註冊(已經成員) - >簽到 - > ForgottenPassword(登錄/密碼通過郵件接收) - >簽到(有效日誌) - >首頁
  • 其他推出(用戶註冊):閃屏 - >首頁(自動日誌)

問題是: 我想要2個任務,一個用Splashscreen,SignUp,SignIn和ForgottenPassword,另一個用Splashscreen和Home。 爲什麼?因爲回到家應該關閉應用程序,但回到以前的活動(根據線框註冊或登錄)。 上註冊與history=true定義活動,簽到這樣做,但不允許ForgottenPassword - >簽到簽到和 - >註冊:(

感謝您的幫助

+2

我跟着你解決了這個問題。你什麼時候想回家的時候發生?關閉應用程序?或者回到最後一個屏幕?默認情況下,它應該返回到最後一個屏幕。你能否更好地解釋你想要什麼,現在發生了什麼? – 2010-08-30 17:10:35

+0

回到家後,必須始終關閉應用程序 – OlivierD 2010-08-30 19:08:34

回答

3

有幾個方法可以做到這一點,一個辦法:

每當您開始家庭活動時,請使用startActivityForResult。當家庭活動退出(用戶返回)時,先前的活動將會通知。如果您不希望顯示該活動,請立即完成該活動。可以使用請求或結果代碼來幫助您確定是否要再次顯示活動。

我相信你也可以做這樣的事情:

startActivity(homeActivityIntent); 
finish(); 

從堆棧中,當您啓動家庭活動刪除以前的活動。