я пришел в качестве решения для этой проблемы в последнее время, если кто-то нуждается в нем:
По ExifInterface
documentation устанавливается атрибут с помощью тега TAG_GPS_IMG_DIRECTION
ожидает «рациональное» значение. Но, насколько я понял, это исходный код, он сначала проверяет вставленное значение, проверяя, есть ли в строке символ «/», и после этого получают числа до и после «/», чтобы сгенерировать двойное значение, и просто, когда он может быть преобразован в двойное значение, этот атрибут будет добавлен в файл изображения.
В основном, чтобы заставить его работать, вместо того, чтобы посылать двойное значение в качестве вашего атрибута, вам нужно отправить часть.
В качестве предложения, сделать что-то из double
можно легко с помощью Apache Commons Math Lib - Fraction. Это было бы примерно так:
Fraction azimuthAsFraction = new Fraction(azimuthAsDouble);
exif.setAttribute(TAG_GPS_IMG_DIRECTION, String.valueOf(azimuthAsFraction));
Таким образом, ваше азимутальное значение должно быть добавлено к метаданным файла изображения.
Не могли бы вы вставить некоторый log stacktrace или код или любые ошибки, чтобы указать, как он не работает? thx – dumbfingers
ss1271, ошибка не появляется, но данные Exif недействительны и не выходят (см. ссылку [this] (http://developer.android.com/reference/android/media/ExifInterface.html)) – user4056