Я пытаюсь загрузить изображение из моего приложения, все отлично работает на всех других устройствах, при попытке загрузить из камеры или галереи, но когда я пытаюсь загрузить изображение из папки gallery-> camera с помощью устройства Samsung Galaxy J6 поворачивается в виде изображения. При попытке загрузить из другой папки все работает нормально, только папка камеры внутри галереи получает эту проблему. Я искал на Google получил какой-то ответ, чтобы использовать exifinterface, но это также не помогло мне. Это не показывает выбранное изображение в моем представлении изображения, это выполняет блок catch.
пожалуйста, помогите мне застрять в последние два дня.
вот мой код: -
if (requestCode == GALLERY) {
if (data != null) {
Uri contentURI = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), contentURI);
Bitmap converetdImage = getResizedBitmap(bitmap, 200);
PreferenceManager.saveStringForKey(myContext, AppConstant.PREFERENCE_TAG.IMAGE, AppConstant.getBase64Image(converetdImage));
Toast.makeText(myContext, "Image Saved!", Toast.LENGTH_SHORT).show();
/*ByteArrayOutputStream baos=new ByteArrayOutputStream();
byte [] b=baos.toByteArray();
String temp=Base64.encodeToString(b, Base64.DEFAULT);*/
ExifInterface exif = new ExifInterface(contentURI.toString());
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1);
Matrix matrix = new Matrix();
if (orientation == 6) {
matrix.postRotate(90);
}
else if (orientation == 3) {
matrix.postRotate(180);
}
else if (orientation == 8) {
matrix.postRotate(270);
}
Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
// imgProfile.setImageBitmap(bitmap);
imgProfile.setImageBitmap(rotatedBitmap);
is_image_change = true;
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(myContext, "Failed!", Toast.LENGTH_SHORT).show();
}
}
}