У меня есть следующий сценарий:
У меня есть активность чата, по своему намерению он получает адрес электронной почты контактного лица, для которого отображаются сообщения, у операции есть singleTop в качестве режима запуска
Перемещая палец по экрану, я переключаюсь между разными разговорами, я делаю это, вызывая startActivity с новым намерением: вызывается onPause, затем onNewIntent, в котором я выполняю setIntent, а затем onResume.В onResume я получаю новое намерение, пока все хорошо.
Затем я меняю ориентацию: вызывается onPause, затем onDestroy, в этот момент getIntent возвращает правильное намерение, за которым следует onCreate со старым намерением.за ним следует onResume, который также имеет старое намерение
Я нашел это -> http://groups.google.com/group/android-developers/browse_thread/thread/7f0389f349e1ee3b, чтобы объяснить это поведение, но это не происходит по моему желанию HTC с Android 2.2, используяЭмулятор Я обнаружил, что это происходит на 1.5, но не на 1.6
Так что мой вопрос: это нормально на 1.5?Если так, как я могу изменить поведение действия, чтобы это больше не повторилось?
Я знаю, что могу изменить режим запуска с singleTop на стандартный, но это также повлияет на Android 1.6+, чего я не делаюхочу, потому что с singleTop смена разговора происходит быстро (вызываются только onPause и onResume), также вызываются стандартные onCreate и onDestroy ...
Может быть, я могу что-то сделать с флагами намеренийПока не найдено, флаги, которые я изменяю в коде, чтобы иметь возможность проверить, «если SDK равен 3» ...
Спасибо за чтение, Дэнни