восстановление задачи до ее последнего состояния в android

Я не говорю о восстановлении состояния приложения (с помощью Bundle или изменения конфигурации или даже SharedPreferences), я говорю о том, что у меня есть определенная задача, которая является базовой активностью: HomeScreenActivity, и оттуда я могу выполнять ряд действий. открыт для пользовательского потока. Я хочу, чтобы в случае смерти приложения или пользователь убил свой собственный сеанс, чтобы восстановить всю задачу, а не только одно действие, я имею в виду восстановить весь стек действий, который у меня был до того, как приложение было убито. если пользователь был на моем экране выставления счетов и вышел из моего приложения, я хочу вернуть его на этот экран, но я хочу, чтобы, если он нажмет назад, он вернулся на мой экран поиска или экран фильтрации, что бы там ни было раньше он остановился.

У меня нет проблем с сохранением порядка действий в sharedPreferences, и я знаю порядок, как только я запускаю свой домашний экран, но мне интересно, есть ли способ сообщить Landroid, чтобы начать действие, которое должно только войти в стек задачи, а не вызывать метод onCreate действия если я на самом деле не доберусь до него (с обратным ключом).


person codeScriber    schedule 06.12.2010    source источник
comment
Вы пробовали android:noHisory=true   -  person Kakey    schedule 06.12.2010


Ответы (1)


Возможно, у кого-то появится идея получше, но единственное, что сразу приходит на ум, — это добавить флаг «сброс», чтобы вы могли как бы воспроизвести сценарий предыдущих действий навигации пользователя в вашем приложении, запуская ваши действия каждый раз. другие по очереди, но из-за того, что флаг resetup обходит большую часть их кода, поэтому они на самом деле ничего не делают, кроме необходимой настройки и запускают следующий.

Одна из сложностей заключается в том, что, вероятно, активность, в которой они были на самом деле, возобновится.

person Chris Stratton    schedule 06.12.2010
comment
эту идею мы уже придумали :-) Я уверен, что вы можете видеть ее уродство, мне также придется переместить большую часть моего кода onCreate() в onStart или onResume (предпочтительнее onResume, так как этот 100% будет вызываться один раз назад) и добавление дополнительного флага гарантирует, что я просто начну их, но я думаю, что время начала 4-5 действий подряд нельзя игнорировать... было бы здорово, если бы я не знал Активности в стеке передо мной и восстанавливаю их сам. - person codeScriber; 06.12.2010