Установка targetSdkVersion=13 приводит к тому, что действия игнорируют флаг android:configChanges=orientation.

Похоже, что уровень API 13 («насколько я могу судить», «тихо») внес изменение в то, как обрабатывается атрибут android: configChanges.

В моем конкретном случае, когда для «targetSdkVersion» в манифесте приложения установлено значение «13», любые действия, которые настроены для внутренней обработки изменений ориентации (например, не должны перезапускаться при повороте экрана), всегда перезапускаются независимо от android:configChanges= атрибут "ориентация" в своих объявлениях.

Простое переключение «targetSdkVersion» на «12» восстанавливает ожидаемое поведение.

Я просмотрел примечания к выпуску API 13 и не смог найти упоминания о таком изменении. Кто-нибудь знает, будет ли API 13 (и, возможно, более поздние API) по дизайну не поддерживать android: configChanges = "ориентация" или если есть другой подход для достижения этой цели.


person StefanK    schedule 27.07.2011    source источник


Ответы (2)


Похоже, что есть новая документация для configChanges, в частности относящаяся к выпуску HONEYCOMB_MR2. Может быть, вы можете попробовать использовать orientation|screenSize|smallestScreenSize, посмотрите, изменит ли это поведение. Надеюсь, это хотя бы приведет вас в правильном направлении.

person Josh    schedule 27.07.2011
comment
Действительно, комбинация ориентация|размер экрана сделала свое дело (smallestScreenSize, похоже, не имеет значения). Большое спасибо за то, что указали мне правильное направление. - person StefanK; 06.08.2011
comment
По-видимому, этот параметр не наследуется вспомогательными действиями :( - поэтому мне нужно установить его для каждого действия oO - person AgentKnopf; 04.07.2013

попробуй так: <android:configChanges="orientation|screenSize"/>

person lugao    schedule 06.02.2014