Мне удалось заставить камеру сохранять изображения в вертикальной ориентации, изменив код приложения LegacyCamera в packages/apps/LegacyCamera/src/com/android/camera/Camera.java. Я сделал это в функции storeImage:
Код: Выделить всё
private void storeImage(final byte[] data, Location loc, int width,
int height, long dateTaken, int previewWidth) {
String title = Util.createJpegName(dateTaken);
int orientation = Exif.getOrientation(data);
CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId]; // This is my change
// Fix the orientation
orientation = info.orientation; // This is also my change
Uri uri = Storage.addImage(mContentResolver, title, dateTaken,
loc, orientation, data, width, height);
Итак, по сути, мой вопрос заключается в том, где находится CameraInfo откуда получает информацию? Я пытался найти что-нибудь в документации Android или в коде, но не смог увидеть, откуда оно считывает это значение. Есть ли способ найти это?
Подробнее здесь: https://stackoverflow.com/questions/786 ... ation-from
Мобильная версия