У меня странная ошибка, которую я раньше не видел в приложении для Android. При переходе от действия, заблокированного в портретном режиме, к действию, заблокированному в альбомном режиме и обратно, действие, которое должно быть в портретном режиме, отображается в портретном режиме, переходит в альбомный, а затем обратно в портретный.
Это происходит, когда устройство лежит на столе без каких-либо изменений ориентации. Я использую два отдельных действия, и это единственный код, который у меня есть в проекте.
Здесь видео об ошибке и вот ссылка на конкретный проект, в котором воспроизводится эта ошибка. Это происходит на нескольких устройствах, поэтому оно не изолировано от моего устройства.
Вопросы:
- Вы знаете, что могло быть причиной этого?
- Есть ли что-нибудь, что вы можете порекомендовать для исправления этого?
Что я пробовал:
- Программная установка ориентации
- Погуглил и ничего не нашел
Обновление 1
Еще кое-что, что я пробовал:
- Установка портретной активности на «носенсор» и альбомной на «альбомную»
- Установка портретной активности на «Носенсор» и программная установка альбомной активности в onCreate
Обновление 2
Я работал с проектом, указанным выше, и просто сделал несколько переопределений, чтобы выйти из всего, что происходит. Я обнаружил, что когда вызывается onConfigurationChanged, он немного перекликается между альбомной и портретной ориентациями. Вывод для обратной навигации, которая не выполняет шимми, выглядит следующим образом:
D/class com.mdk_studio.orientationbugtests.MainActivity: onStateNotSaved
D/class com.mdk_studio.orientationbugtests.MainActivity: onRestart
D/class com.mdk_studio.orientationbugtests.MainActivity: onWindowFocusChanged
Вывод ошибки shimmy:
D/class com.mdk_studio.orientationbugtests.MainActivity: onStateNotSaved
D/class com.mdk_studio.orientationbugtests.MainActivity: onRestart
D/class com.mdk_studio.orientationbugtests.MainActivity: onWindowFocusChanged
D/class com.mdk_studio.orientationbugtests.MainActivity: onConfigurationChanged
D/class com.mdk_studio.orientationbugtests.MainActivity: onConfigurationChanged
Я предполагаю, что теперь возникает вопрос, как мне убедиться, что изменение ориентации не вызывается?