Я пытаюсь написать User_Comment
и TAG_GPS
для захваченного изображения в приложении для Android с использованием интерфейса exif, но по какой-то причине теги, кажется, не добавляются к изображению, когда я просматриваю детали изображения в галерее ,Как написать данные exif для изображения на Android?
Похоже, что метки не записываются на захваченное изображение, поскольку путь к файлу может быть неправильным. Я думаю, что это может быть потому, что я написал теги к неправильному пути к изображению.
Кто-нибудь знает, если это проблема с тем, как я пишу теги к изображению?
Это код, который сохраняет данные EXIF следующие @ изменения Чарли ниже:
private File getOutputPhotoFile() throws IOException {
File directory = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), getPackageName());
if (!directory.exists()) {
if (!directory.mkdirs()) {
Log.e(TAG, "Failed to create storage directory.");
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyMMdd_HHmmss", Locale.ENGLISH).format(new Date());
File[] files = directory.listFiles();
File exifVar = new File(directory.getPath(), "IMG_" + timeStamp + ".jpg");
if(files.length!=0) {
File newestFile = files[files.length-1];
exifVar = new File(directory.getPath() + File.separator + newestFile.getName());
}
String mString = "Generic Text..";
ExifInterface exif = new ExifInterface(exifVar.getAbsolutePath());
exif.setAttribute("UserComment", mString);
exif.saveAttributes();
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE,
String.valueOf(latituteField.toString()));
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE,
String.valueOf(longitudeField.toString()));
exif.saveAttributes();
return exifVar;
}
Почему вы вызываете exif.saveAttributes несколько раз? Я считаю, что каждый раз создается новый образ. Просто интересно – wkhatch
Возможно, я не работал над этим проектом в то время, я думаю, что проблема может заключаться в том, что данные сохраняются в временном изображении под названием «exif» и никогда не записываются в исходное изображение. –