2016-07-26 103 views
0

根據Activity的生命週期onCreate發生在第一階段,並在我的應用程序中執行onCreate中的一些重要代碼。問題是,如果我點擊主頁按鈕或將應用程序放在後臺,活動將不會通過onCreate重新創建,而是通過onResume重新創建。當onStop發生時完全終止活動

我希望一旦調用了onStop方法,應用程序就會自行終止,以便在下次啓動時從onCreate開始。如果它有助於我的應用只由一項活動組成。

(我需要這個的原因是,在複製中的onResume必要的代碼創建的bug)

+0

調用'Activity.finish()'應該做的訣竅......但也許這將是更好的修復「錯誤」onResume – Selvin

+4

我建議你退後一步,並找出如何做到這一點,而不會顛覆活動生命週期。您正在問如何引入黑客來修復您的代碼中的錯誤 - 重新考慮您的代碼 - 否則您將最終得到更多(並且可能更難修復)錯誤。 –

+2

有可能是一個更優雅的解決方案,而不是這個黑客攻擊。請分享更多信息。 – Shaishav

回答

1

你可以找到一個明顯的標誌android:noHistory爲其提供了這種行爲的活動。

無論是否活動應該從活動組中刪除,並完成(稱爲其finish()方法)當用戶從它導航離開,它不再是可見的屏幕上 - "true"是否應該結束,"false"如果不。默認值是"false"

值爲"true"意味着該活動不會留下歷史追蹤。它不會留在任務的活動堆棧中,所以用戶將無法返回到它。在這種情況下,如果您爲此活動的結果啓動其他活動,則永不會調用onActivityResult()

這可能比使用生命週期事件更安全一些。但請記住,任何一種狀態都將隨後丟失。

+0

非常感謝你,這正是我一直在尋找的。很快我會執行它並報告回來。 – drogaleggera

相關問題