onConfigurationChanged не срабатывает при вращении одинакового размера

У меня есть сервис, который переопределяет OnConfigurationChanged.

Он вызывается, когда вы изменяете ориентацию с портрета -> ландшафт и наоборот, но проблема в том, когда вы поворачиваете с ландшафта -> пейзаж. Когда вы наклоняете свой телефон влево, вы меняете его вправо.

Как сказано во многих ответах здесь, на stackru, файл манифеста должен быть:

android:configChanges="keyboardHidden|orientation|screenSize"

Изменение ориентации из стороны в сторону (слева и справа) приводит к одному и тому же размеру экрана, поэтому onConfigurationChanged никогда не вызывается.

Мое приложение использует акселерометр, поэтому мне нужно получить текущую ориентацию, чтобы скорректировать свои значения.

Любые мысли о том, как и почему onConfigurationChanged не вызывается?

1 ответ

Любые мысли о том, как и почему onConfigurationChanged не вызывается?

Потому что это не считается изменением конфигурации. Изменения конфигурации - это когда Google считает, что вам потребуются разные ресурсы. Поскольку после поворота экран имеет тот же размер, что и раньше, и, поскольку ничто иное не отличается от ресурсов, они не считают это изменением конфигурации.

Другие вопросы по тегам