2012-11-03 29 views
3

我使這個應用程序工作正常,但是當我離開應用程序並再次打開它時,它總是強制關閉。我怎麼能這樣做,當用戶按下主頁和/或返回鍵會殺死應用程序進程?Android - 按下主頁鍵時關閉應用程序

這樣做當應用程序再次打開它有一個新的開始。

+0

嘗試覆蓋'onuserleavehint'因爲當用戶按回家鍵時調用這個方法 –

+0

好的,你能給我任何示例代碼嗎?那將是什麼樣子? – MoschDev

+0

爲什麼你不修正導致力量關閉的錯誤? – CommonsWare

回答

5

你不應該「殺死進程」。您應該通過onPause()onResume()方法處理主頁按下按鈕和其他類似的交互,這些交互遠離您的應用。

在你的onPause()方法中,你應該保存你的應用程序的狀態。這可以從保存在Bundles,SharedPreferences,sqlite或任何形式的持久性適合您的應用程序。

在你的onResume()方法中,你應該恢復你的應用程序的狀態,以便給用戶一個幻覺,根本沒有任何變化。

這是android如何處理多任務處理,這是你必須在你的應用程序中適應它以及如何有效和可靠地適合你的應用程序到android框架。

我建議你去通過活動的生命週期指導在這裏第一次:

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

更多關於暫停和在這裏具體恢復的活動:

http://developer.android.com/training/basics/activity-lifecycle/pausing.html

此外,您可能希望閱讀這裏的數據存儲選項:

http://developer.android.com/guide/topics/data/data-storage.html

+0

嘿所以我看到onDestroy()不能用這個來殺死進程。當我離開它時,我真的很想重啓那個應用程序 – MoschDev

+0

如果你願意,你可以在你的onPause()函數中調用finish()來終止這個活動。當用戶回到您的應用程序時,活動將重新啓動。 –

+0

好的非常感謝! – MoschDev

相關問題