После захвата изображения из эмулятора Android в Android Studio я получаю URI контента и через него хочу обработать изображение. Одним из таких процессов является то, что я хочу изменить ориентацию. Так что у меня есть функция, которая делает это
@Throws(IOException::class)
fun modifyOrientation(bitmap: Bitmap, imagePath: String): Bitmap {
val ei = ExifInterface(File(imagePath).absolutePath)
return when (ei.getAttributeInt(
ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL
)) {
ExifInterface.ORIENTATION_ROTATE_90 -> rotate(bitmap, 90L.toFloat())
ExifInterface.ORIENTATION_ROTATE_180 -> rotate(bitmap, 180L.toFloat())
ExifInterface.ORIENTATION_ROTATE_270 -> rotate(bitmap, 270.toFloat())
else -> bitmap
}
}
Значение imagePath равно
imagePath = "/storage/emulated/0/DCIM/Camera/IMG_20200319_211738.jpg"
Однако я получаю исключение в строке ExifInterface (File (imagePath) .absolutePath) .. !
Method threw 'java.io.FileNotFoundException' exception.
android.system.ErrnoException: open failed: EACCES (Permission denied)
Что я делаю не так ..?