setRotation method в Camera.Parameters не работает на всех устройствах. Кто-то предлагает вручную изменить информацию EXIF для решения проблемы. Можете ли вы дать мне небольшой пример того, как установить EXIF информацию с помощью ExifInterface таким образом, чтобы установить ориентацию изображения как портрет?
private int savePicture(byte[] data)
{
File pictureFile = getOutputMediaFile();
if (pictureFile == null)
return FILE_CREATION_ERROR;
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
return FILE_NOT_FOUND;
} catch (IOException e) {
return ACCESSING_FILE_ERROR;
}
return OKAY;
}
Я пробовал с этим:
try {
ExifInterface exifi = new ExifInterface(pictureFile.getAbsolutePath());
exifi.setAttribute(ExifInterface.TAG_ORIENTATION, String.valueOf(ExifInterface.ORIENTATION_ROTATE_90));
exifi.saveAttributes();
} catch (IOException e) {
Log.e(TAG, "Exif error");
}
но ничего не меняется при визуализации изображений из галереи Android.