Open Code-N-K opened 6 years ago
@Mariovc Solution for Exif : as per android documentation
https://android-developers.googleblog.com/2016/12/introducing-the-exifinterface-support-library.html
Use import android.support.media.ExifInterface;
and update the method
`private static int getRotationFromCamera(Context context, Uri imageFile) { int rotate = 0;
InputStream in = null;
try
{
context.getContentResolver().notifyChange(imageFile, null);
in = context.getContentResolver().openInputStream(imageFile);
ExifInterface exif = new ExifInterface(in); //imageFile.getPath());
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,ExifInterface.ORIENTATION_NORMAL);
switch (orientation)
{
case ExifInterface.ORIENTATION_ROTATE_270:
rotate = 270;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotate = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_90:
rotate = 90;
break;
default:
rotate = 0;
break;
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (in != null)
{
try
{
in.close();
}
catch (IOException ignored)
{
}
}
}
return rotate;
}`
@Mariovc - // After using URI from FileProvider ExifInterface is not providing orientation details when we ftech image from camera i have tested it in api 14 to api 24, the code works for Android M only.
`private static int getRotationFromCamera(Context context, Uri imageFile) { int rotate = 0; try { context.getContentResolver().notifyChange(imageFile, null);