Как редактировать exif в android Q

Я хочу создать jpg и отредактировать его exif.
Раньше я использовал ExifInterface:

ExifInterface exifInterface = new ExifInterface(filePath)
exifInterface.setAttribute(...)
exifInterface.setAttribute(...)
exifInterface.saveAttributes();

Но в Android Q я просто получил uri изображения из MediaStore API вместо пути к файлу. Я пытаюсь использовать это:

new ExifInterface(inputStream)

Но когда я звоню saveAttributes(), это выглядит так

java.io.IOException: Failed to copy original file to temp file

Итак, есть ли другой способ справиться с этой проблемой

1 ответ

Я была такая же проблема. Я решил это, обновив ExifInterface до 1.3.1 в build.gradle (приложение):

implementation 'androidx.exifinterface:exifinterface:1.3.1'

Кажется, связано с этим совершить в saveAttributes, как указано в примечаниях к выпуску: https://developer.android.com/jetpack/androidx/releases/exifinterface#1.3.1

Fix saveAttributes implementation to keep the image data in MediaProvider
Другие вопросы по тегам