Я пытаюсь повторить этот ответ , который находит ориентацию изображения андроида:
fun getCameraPhotoOrientation(context: Context, inputStream: InputStream, uri: Uri): Int {
val exif = if (android.os.Build.VERSION.SDK_INT > 24) ExifInterface(inputStream) else ExifInterface(uri.path)
val orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1)
val rotate = when (orientation){
ExifInterface.ORIENTATION_ROTATE_270 -> 270
ExifInterface.ORIENTATION_ROTATE_180 -> 180
ExifInterface.ORIENTATION_ROTATE_90 -> 90
else -> 0
}
Log.d(TAG, "Exif orientation: $orientation") // prints 0 every time
Log.d(TAG, "Rotate value: $rotate") // prints 0 every time
return rotate
}
Даже если изображения, которые я пропускаю, загружены неверно (не портрет), orientation
по-прежнему возвращает 0.
Вот я вызываю функцию:
val inputStream = contentResolver.openInputStream(uri)!!
getCameraPhotoOrientation(this, inputStream, uri)
Есть идеи, как это исправить?