Android Create Custom Exif Attributes For An Image File
Solution 1:
Try saving the Exif data with the tag:
"UserComment"
Code:
StringmString="Your message here";
ExifInterfaceexif=newExifInterface(path_of_your_jpeg_file);
exif.setAttribute("UserComment", mString);
exif.saveAttributes();
You can put anything you want in there (as String) and simply parse the string. I wish we could create and name our own exif tags, but the reality is that we can't. So this is the best solution I came up with.
Solution 2:
Save the Exif data with the tag "ImageDescription"
https://developer.android.com/reference/android/media/ExifInterface.html
Code
try {
StringimageDescription="Your image description";
ExifInterfaceexif=newExifInterface(file_name_of_jpeg);
exif.setAttribute("ImageDescription", imageDescription);
exif.saveAttributes();
} catch (IOException e) {
// handle the error
}
Solution 3:
If you cannot use an existing exif attribute (such as "UserComment" or "ImageDescription"), then you are out of luck with using ExifInterface
.
Exif attributes are represented as binary tag numbers with the values encoded in binary data formats. ExifInterface
class abstracts this away from the programmer, and provides a setAttribute
method where the tag and the value are supplied as strings. Behind the scenes, it maps between the string form and the corresponding binary attribute representation.
The problem is that the ExifInterface
class only knows how to map a fixed set of attributes. Furthermore, the API doesn't provide a way to add the descriptors for new (e.g. custom) exif attributes to its mapping tables.
If you are really desperate, the alternatives are:
- Look for an alternative library that works with Android.
- Do nasty things with reflection to add extra mappings to
ExifInterface
's internal (private
) mapping tables. If you try this, you will need to deal with the fact that theExifInterface
's implementation has changed radically over time. (In some older versions, the encoding and decoding of attributes is implemented in a native code library!)
Post a Comment for "Android Create Custom Exif Attributes For An Image File"