При разработке приложения для Android я нашел два атрибута ActivityInfo для настройки ориентации экрана.
Атрибуты, имеющие USER, следующие:
Атрибуты, имеющие SENSOR, следующие:
В чем разница между SCREEN_ORIENTATION_USER и SCREEN_ORIENTATION_SENSOR?
Из источника
Атрибуты, имеющие USER, следующие.
SCREEN_ORIENTATION_USER
Используйте текущую предпочтительную ориентацию телефона. Соответствует SCREEN_ORIENTATION_USER.
SCREEN_ORIENTATION_USER_LANDSCAPE
Желательно иметь экран в альбомной ориентации, но если пользователь включил поворот на основе датчика, мы можем использовать датчик для изменения направления, в котором находится экран. Соответствует SCREEN_ORIENTATION_USER_LANDSCAPE.
SCREEN_ORIENTATION_USER_PORTRAIT
Хотелось бы иметь экран в портретной ориентации, но если пользователь включил вращение на основе датчика, мы можем использовать датчик для изменения направления, в котором находится экран. Соответствует SCREEN_ORIENTATION_USER_PORTRAIT.
Атрибуты, имеющие SENSOR, следующие.
SCREEN_ORIENTATION_SENSOR
Ориентация определяется датчиком физической ориентации: дисплей вращается в зависимости от того, как пользователь перемещает устройство. Игнорирует настройку пользователя, чтобы отключить вращение на основе датчика. Соответствует SCREEN_ORIENTATION_SENSOR.
SCREEN_ORIENTATION_SENSOR_LANDSCAPE
Хотел бы иметь экран в альбомной ориентации, но может использовать датчик для изменения направления в сторону экрана. Соответствует SCREEN_ORIENTATION_SENSOR_LANDSCAPE.
SCREEN_ORIENTATION_SENSOR_PORTRAIT
Хотел бы иметь экран в портретной ориентации, но может использовать датчик для изменения направления, с которым смотрит экран. Соответствует SCREEN_ORIENTATION_SENSOR_PORTRAIT.