Hi I have an app with compileSdkVersion 30 and targetSdkVersion 30. Since I need to know the orientation of image, I wrote these:
val exif = ExifInterface(imageFile.absolutePath)
val orientation = exif.getAttributeInt(
ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL
)
when (orientation) {
ExifInterface.ORIENTATION_ROTATE_270 -> rotate = 270
ExifInterface.ORIENTATION_ROTATE_180 -> rotate = 180
ExifInterface.ORIENTATION_ROTATE_90 -> rotate = 90
}
But there was an exception shows like:
java.io,FileNotFoundException:/storage/emulated/0/DCIM/Camera/xxx.jpg: open failed EACCESS(Permission denied)
...
at android.media.ExifInterface.<init>(ExifInterface.java.1389)
What I would like to do is get image and know its orientation, but I can not find any sample on Internet. Can anybody give me a hint? thanks!
On Android 11 you have access to that Camera directory but mostly not to files in that directory that belong to other apps.
Well not if you use a classic file system path.
So which app put those files there?
If it was not you use actions like ACTION_OPEN_DOCUMENT to let the user pick a file which delivers you a nice uri.