Ошибка Экрана-Заставки Android
Я показываю заставку примерно за 3 секунды до того, как будет вызвано мое первое действие. Заставка также является активностью, через 3 секунды она заканчивается () es и начинается FirstActivity. Также я установил вращение экрана всплеска активности в портретном режиме.
Теперь, когда я тестирую свое приложение, оно работает нормально, но в течение этих 3 секунд заставки, если я изменяю поворот экрана, мое первое действие вызывается два раза.
Есть ли способ / фрагмент кода, который может помочь мне открыть мое первое действие только один раз, несмотря на вращение экрана, когда активность экрана-заставки находится на переднем плане. ? Спасибо за помощь:)
4 ответа:
На самом деле это не ошибка. Когда вы меняете ориентацию, текущая активность создается снова, поэтому ваша SplashActivity вызывается дважды.
Я написал сообщение в блоге об обработке изменений ориентации вручную; http://c0deattack.wordpress.com/2010/12/25/dealing-with-screen-orientation-changes-manually/
У меня тоже был этот "баг". Здесь описано, как я решил эту задачу: Перезагрузка активности при изменении ориентации в Android
Я думаю, что ваша нить заставки получит вызов еще раз.
Поэтому просто установите флаг для 2 проверки экрана повернут или нет. если да, то не вызывайте этот поток снова. напр..
Boolean urScreenRotationFlag=false;
Если(!urScreenRotationFlag) { ur splash thread code
}
И при повороте экрана установите этот флаг 2 true.
Спасибо.