У меня есть приложение, которое имеет начальную активность (A - также тот, который указан в панели запуска), из которого он позволяет пользователю запускать другое действие (B). Я сохраняю состояние Activity B (onSaveInstanceState() и восстанавливаю его в onCreate()).
На некоторых телефонах (N1 и Motrola Milestone на данный момент, но не на Galaxy S) после запуска B, если пользователь нажимает кнопку "домой" (т.е. приложение переходит на задний план), а затем сразу же запускает приложение, они показывают активность A снова (не B). Но если они запустили его из "последних" приложений (нажатие кнопки "Домой" ), они будут перенесены в действие B.
Из того, что я понимаю в документах Android, если только эта задача не была убита (похоже, что здесь не так, как ничего, кроме повторного запуска активности с экрана приложения), мы должны увидеть, что активность B восстановлена при запуске ( так как это находится поверх стека). Поэтому я просто не могу понять, что здесь не так.
Изменения ориентации BTW во время работы приложения прекрасно работают (все сохраняет и восстанавливает штраф). Эта странная проблема прослушивала меня в течение некоторого времени, и в результате проб и ошибок я обнаружил, что, когда я отключил ориентацию для этого действия, а затем попытался перезапустить, получился B, чтобы показать, как ожидалось.
Так кто-нибудь еще сталкивался с чем-то подобным, и если да, то как это можно разрешить?
Я смотрю на сохранение текущей активности в SharedPreferences (как упоминалось в этом сообщении), и они восстанавливают ее из активности в действии A, однако хотели бы знать, если Мне что-то не хватает. Не должно быть B восстановлено при повторном запуске по умолчанию?