「ホーム」ボタンを押すと、アクティビティが に移動しonPause()
ます。
個人的にはonPause()
、ホームボタンが押されたときだけでなく、他の状況も処理できるメソッドをオーバーライドすることをお勧めします。
あなたの場合、それは関連しているだけonPause()
なので、状態を内部/外部ストレージonResume()
に入れてみることができます。SharedPreferences
いう:
onPause()
メソッドで、次のようにします。
// Use Shared Preferences to save data
SharedPreferences previewSizePref = getSharedPreferences("PREF",MODE_PRIVATE);
SharedPreferences.Editor prefEditor = previewSizePref.edit();
prefEditor.putInt("x", somethingA);
prefEditor.putInt("y", somethingB);
prefEditor.commit();
onResume()
で、保存されたデータを次のように取得します。
SharedPreferences previewSizePref = getSharedPreferences("PREF",MODE_PRIVATE);
if (previewSizePref.contains("x") && previewSizePref.contains("y")) {
//your saved data exists, do something
} else {
// handle the circumstances that the saved data doesn't exist
}
状態を保存しonPause()
て復元するにonResume()
は、次の回答をご覧ください。
onPause でのアクティビティ状態の保存
また、SharedPreferences については、API ドキュメント: Data Storage - Shared Preferencesを参照してください。