Как избежать повторного создания активности при повороте, а также соблюдать блокировку ориентации?

Фон

Каждый раз, когда устройство поворачивается, Android уничтожает текущую активность и воссоздает ее с новой конфигурацией.

Простым способом избежать повторного создания активности является добавление в манифест " configChanges" ( "screenSize" и "ориентация", как я помню).

Проблема

Если вы используете атрибут "configChanges", приложение не будет уважать функцию блокировки ориентации, которую имеют некоторые (или все?) Android-устройства, которые не позволяют вращаться во время поворота экрана.

Что я пробовал

Я попытался сыграть со значениями атрибутов screenOrientation, но ни один из них не достиг того, что я хотел.

Вопрос

Как я могу предотвратить повторное создание активности, когда экран меняет ориентацию, а также соблюдает предпочтение пользователя ориентации-блокировки?

Возможно ли получить значение этого предпочтения, чтобы я мог позволить активности блокировать свою ориентацию при ее установке?

Ответ 1

Хорошо, неважно. Я думаю, что просто пропустил правильный:

Android: screenOrientation = "пользователь"

Вместе с другими значениями configChanges это отлично работает.