How To Get Exif Data From An Inputstream Rather Than A File?
The reason why I am asking this is because the callback of the file chooser Intent returns an Uri. Open file chooser via Intent: Intent intent = new Intent(); intent.setType('image
Solution 1:
After the 25.1.0 support library was introduced, now is possible to read exif data from URI contents (content:// or file://) through an InputStream
.
Example: First add this line to your gradle file:
compile 'com.android.support:exifinterface:25.1.0'
Uri uri; // the URI you've received from the other app
InputStream in;
try {
in = getContentResolver().openInputStream(uri);
ExifInterfaceexifInterface=newExifInterface(in);
// Now you can extract any Exif tag you want// Assuming the image is a JPEG or supported raw format
} catch (IOException e) {
// Handle any errors
} finally {
if (in != null) {
try {
in.close();
} catch (IOException ignored) {}
}
}
For more information check: Introducing the ExifInterface Support Library, ExifInterface.
Post a Comment for "How To Get Exif Data From An Inputstream Rather Than A File?"