保存 ExifInterface 标签抛出 IOException

Saving ExifInterface tags throws IOException

我想为图像使用 Exif 标签。 读取标签非常简单,工作正常但不能保存。

private void saveTag(String tag, String value) {
    try {
        ExifInterface exif = new ExifInterface(imagePath);
        exif.setAttribute(tag, value);
        exif.saveAttributes();
    } catch (IOException ioe) {
        toast("Image no longer exists!");
    } catch (NullPointerException npe) {
        toast("No image loaded!");
    }
}

每次都抛出IOException,我该怎么办?

授予:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

我发现在 Exif 界面中打开时图片必须位于设备的存储空间中。必须先将图片从 SD 卡复制到设备的存储空间。