Ориентация изображения, полученного с помощью экземпляра Camera, ведет себя по-разному на разных устройствах Android

Ориентация захваченного изображения вызывает проблемы на устройствах в Android. В некоторых устройствах ориентация захваченного изображения не записывается в EXIF, в то время как в других устройствах это записывается. Существует ли надлежащее разграничение относительно того, какие устройства делают, а какие нет?

Поэтому, если устройство не добавляет ориентацию изображения, я использую следующий код для его разрешения http://developer.android.com/reference/android/hardware/Camera.Parameters.html

Но теперь в тех устройствах, которые поддерживают автоматическое добавление ориентации / поворота изображения, изображение выше еще больше поворачивает его, и ориентация снова становится неправильной.

Подскажите, пожалуйста, существует ли универсальный код для его обработки, или отключить встроенную информацию о ротации, или я могу отличить, основываясь на уровне API или абсолютно любом другом способе решения этой проблемы?

Спасибо

1 ответ

Попробуйте добавить следующее в манифест для действия, которое захватывает изображение:

<activity
    android:configChanges="orientation"
    android:screenOrientation="portrait" >
</activity>

Параметр android: configChanges означает, что ваша деятельность сама обрабатывает изменения в ориентации, поэтому, если вы затем решите ничего не делать, это означает, что ориентация никогда не изменится. Параметр android: screenOrientation означает, что он всегда будет в портретном режиме, но, конечно, вы можете выбрать ландшафт. Следовательно, эффект заключается в том, что деятельность никогда не меняет ориентацию, и это может решить вашу проблему.

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