Я провел довольно много поисков и проб / ошибок, пытаясь исправить свое приложение в портретном режиме, однако я в тупике.
Фон: это приложение имеет основное действие, которое показывает статические изображения с различными эффектами перехода. Для отображения MediaPlayer используется вспомогательное действие, поскольку SurfaceView (необходимый для отображения фрагмента ролика) ограничивает производительность отображения переходов неподвижных изображений.
Оба действия заблокированы в портретном режиме, и в большинстве случаев это работает довольно хорошо. Моя проблема в том, что когда дочерняя активность заканчивается, и у меня физически устройство находится в горизонтальном положении, оно временно переключается в ландшафтный режим, а затем обратно в портретный режим. При этом я вижу стрелки на экране и т. Д., И я не хочу этого.
Вот дамп из logcat:
D / курсор (1357): курсор_ротация 0
I / WindowManagerService (1357): установка поворота на 0, animFlags = 1
I / ActivityManager (1357): конфигурация изменена: {масштаб = 1,0 imsi = 0/0 loc = en_US touch = 3 клавиши = 1/1/2 nav = 1/1 ориентация = 2 макета = 35 uiMode = 17 seq = 1726}
D / main_activity (6851): onActivityResult: 0
D / child_activity (6851): поверхность разрушена, вызвана
D / курсор (1357): курсор_ротация 3
I / WindowManagerService (1357): установка поворота на 3, animFlags = 1
I / ActivityManager (1357): конфигурация изменена: {масштаб = 1,0 imsi = 0/0 loc = en_US touch = 3 клавиши = 1/1/2 nav = 1/1 ориентация = 1 макет = 35 uiMode = 17 seq = 1727}
D / StatusBarPolicy (1357): ro.wmt.ui.portrait.hide.capbtn = 1
D / StatusBarPolicy (1357): wm.getRotation = 3
D / StatusBarPolicy (1357): ro.wmt.ui.portrait.hide.capbtn = 1
D / StatusBarPolicy (1357): wm.getRotation = 3
Единственные две строки, которые я хочу увидеть, выделены жирным шрифтом, все остальное, что я хочу исключить. Иногда переключение происходит незаметно в зависимости от времени, поэтому я предполагаю, что есть какое-то состояние гонки?