Я добавил android:configChanges="orientation"
и переопределил onConfigurationChanged()
.То, что я хотел бы сделать, это разрешить изменение альбомной ориентации, только если устройство имеет настройку разрешения экрана размером с планшет (более короткая сторона, превышающая 480 пикселей - предложения по улучшению способа обработки этого приветствуются!).Я думал, что это будет работать одним из двух способов, но ни один из них не работает в моих тестах ни на моем телефоне, ни в эмуляторе.
Моей первой идеей было не вызывать реализацию суперкласса onConfigurationChanged()
, но я получаю исключение, которое жалуется на то, что я не позвонил в суперкласс.
Моя вторая идея состояла в том, чтобы просто вручную установить для newConfig.orientation значение Configuration.ORIENTATION_PORTRAIT
, прежде чем передавать его в суперкласс.Между моим Activity и реальным классом Activity в фреймворке у меня есть класс ActivityBase, который я использую там, где я тоже это переопределяю.Я могу вспомнить значение newConfig.orientation в ActivityBase, чтобы увидеть, что объект конфигурации, который действительно передается, действительно имеет новое значение, но он игнорируется и изменение ориентации уже произошло.
Где можно разместить кодчто позволяет мне условно замкнуть изменение ориентации в одних случаях и разрешить это в других?