我正在尋找一種方法來通過代碼退出我的android應用程序。 是的,我知道,我不應該這樣做,因爲當你按下後退按鈕時,android會處理它,但是我有一個自定義的流程,迫使我執行此操作。我已經搜索了一段時間,並找到了多個答案:退出Android應用程序的最佳方法?
- 不應該這樣做=>沒有選項。
- 在我的活動中調用finish()=>僅針對1個活動,而不是整個應用程序。
- 用特殊標誌=>開始一個Intent到第一個活動我擁有多個入口點,所以不是一個真正的選項。
- 只要殺死我自己的進程=>不知道這一個,這會在所有活動中調用onDestroy()方法嗎?我的後臺服務會繼續運行嗎? (不應該停止)
所以我想知道,是否有任何其他選項退出我的應用程序,或者我真的只限於這些選項? 如果確實沒有其他選項,那麼我正在考慮在我的Application類中創建所有活動實例的列表,然後循環它們以調用finish()。但我不知道這是否是解決這個問題的正確方法。
所以這就是爲什麼我在這裏問我的問題,這是關閉我的應用程序的最佳方式?
編輯:我或多或少地修復了這個問題。我有我的活動的WeakReference列表。在每一個onCreate中,我都將活動添加到列表中。然後,當我想退出我的應用時,我只是循環列表並調用finish()。問題是:如果列表變得太大,它不會完成我所有的活動,因爲android已經銷燬了它們。所以每當我知道我不再需要它們時,我就完成它們。就我而言,這個列表不能超過3/4個活動,因此不需要再擔心活動沒有完成。同樣用這種方法,我不必破壞我自己的過程。
也許'系統'類可以幫助(或Android等效)? (我不熟悉android編程) – 11684 2012-03-02 11:21:49
請閱讀[this](http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon) – Ghost 2012-03-02 11:26:22
「我有一個自定義的流程這迫使我實現這個「 - 這是你的應用程序中的一個錯誤。請修復您的應用程序中的錯誤。 – CommonsWare 2012-03-02 13:26:42