Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

EXIF data in JPEG file

Tags:

java

android

exif

Write custom data as a Exif data in a JPEG image file using ExifInterface in Android

Would like to write/add custom tags/exif data in JPEG file like name, age, etc... Right now i am able to write default values like Geo location data, attributes etc... but can i write custom data in JPEG image using ExifInterface (Android)

Is this possible or any other alternative to maintain these short of information with image

like image 709
Ankit Shah Avatar asked Jan 13 '12 13:01

Ankit Shah


2 Answers

Android's ExifInterface only lets you write exif tags that are "recognized." You can find SOME of the recognized exif tags in the link: http://developer.android.com/reference/android/media/ExifInterface.html

But the good news is, there's more exif tags that's not mentioned in the Android API. Bad news is, I still haven't found a library that lists all usable exif tags

After researching and experimenting for hours, I found that the following tag works:

"UserComment"

So the following code snippet will work:

String mString = "Your message here";     
ExifInterface exif = new ExifInterface(path_of_your_jpeg_file);
exif.setAttribute("UserComment", mString);
exif.saveAttributes();

I'm still trying to find out which other exif tags are allowed, but for now, this should do the trick.

like image 156
baekacaek Avatar answered Nov 07 '22 12:11

baekacaek


To do this use the Android EXIF Interface

  1. Add your Attributes using this method public void setAttribute (String tag, String value)

  2. Make a new version of the JPEG with this method. public void saveAttributes ()

like image 30
Tim Avatar answered Nov 07 '22 12:11

Tim