Как сохранить стек приложений обратно в пакет?

Я хотел бы сохранять состояние моего приложения, чтобы при его повторном открытии из закрытого состояния был виден последний фрагмент и сохранялся задний стек. Я хотел бы сохранять это состояние каждый раз, когда приложение закрывается, а не только при изменении ориентации или когда система убивает приложение, чтобы освободить ресурсы (, как в случае использования onSaveInstanceState()/ onRestoreInstanceState().

До сих пор мне удавалось восстановить предыдущий фрагмент и его состояние, как и планировалось, сохранив состояние в SharedPreferences и восстановив его позже. Однако это не сохраняет задний стек фрагментов, поэтому, когда пользователь загружает приложение и нажимает кнопку «Назад», чтобы переместиться «вверх» в потоке приложения, приложение закрывается, а не поднимается.

На данный момент мне нужно иметь возможность получить доступ к обратному стеку приложения и при необходимости сохранить его в пакет, во многом так, как это делает система в onSaveInstanceState(). Я прочитал документацию по FragmentManager.saveFragmentInstanceState(), но не знаю, как использовать это для достижения своей цели. Может ли кто-нибудь указать мне в правильном направлении?

Я использую реализацию фрагмента из библиотеки совместимости с Android.

6
задан a.ch. 30 March 2012 в 08:35
поделиться