Я пытаюсь записать lat-long и другие данные в заголовок Exif jpeg в моем приложении для камеры. Обычно андроид автоматически заполняет заголовок данными, такими как диафрагма, ISO, скорость затвора и т.д. Однако, когда я добавляю вручную, создайте экземпляр ExifInterface
, установите местоположение GPS с помощью SetAttributes()
и вызовите SaveAttributes()
; все другие данные камеры исчезают.
Предполагается ли это? Как я могу просто добавить тег, не перезаписывая все остальное?
Я видел пример в другом месте создания двух ExifInterfaces, старого (из рисунка) и нового и копирования каждого заполненного значения из старого в новое вместе с любыми другими данными. Это, однако, раздражает и длительно. Я хотел бы найти лучшее решение.
Вот мой код:
try{
ExifInterface exif = new ExifInterface(pictureFile.getAbsolutePath());
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE, mGpsLocation.getLatDms());
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, mGpsLocation.getLonDms());
exif.setAttribute(ExifInterface.TAG_GPS_ALTITUDE, mGpsLocation.getAltDms());
exif.saveAttributes();
} catch(IOException e){
e.printStackTrace();
}
Спасибо