14

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

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Ankit Shah
  • 485
  • 1
  • 7
  • 15
  • 1
    Hi. I have tried to write custom data using ExifInterface, but it's won't to write it, so I have looked at source codes of this class. It's uses a native class, I have looked that class to, and found, that it's impossible. If you have found the solution of this problem, please add the answer. – Aram Mar 25 '12 at 19:46

2 Answers2

13

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.

baekacaek
  • 1,527
  • 3
  • 22
  • 45
1

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 ()

Iharob Al Asimi
  • 52,653
  • 6
  • 59
  • 97
Tim
  • 91
  • 1
  • 1
  • 6