小编Tab*_*uia的帖子

Androidx Exifinterface 在尝试保存属性时崩溃。写入失败:EBADF(错误文件描述符)

saveAttributes()当尝试使用 androidxExifinterface保存任何 JPEG 图片时,我的程序崩溃并出现错误“写入失败:EBADF(错误文件描述符)”

\n

我可以从新项目重新开始复制​​错误。我正在使用 Android Studio:new project-> Empty Activity。我正在使用模拟器来测试。

\n

下面是完整的代码,其中包含我对新的空活动模板所做的唯一更改。

\n

使用androidxExifinterface,此代码能够正确获取 Exif 属性。然而,saveAttributes()每次都会崩溃:

\n
    \n
  • saveAttributes()无论我是否先崩溃setAttribute()都会崩溃。
  • \n
  • 使用哪张图片并不重要。我尝试过的每张图片都会崩溃。
  • \n
  • 我正在使用 JPEG 图片。我还没有测试过其他哑剧类型。
  • \n
  • saveAttributes()抛出:“无法保存新文件。原始文件存储在...”
  • \n
\n

我想设置图片的Exif属性并保存到原始图像文件中。正确的方法是什么?

\n

[这篇文章应该被标记androidx-interface。但该标签不存在,而且我没有添加标签的声誉。所以我使用了 tag android-interface,它确实存在]。

\n
\n

构建.gradle(:应用程序)

\n
implementation "androidx.exifinterface:exifinterface:1.3.2"\n
Run Code Online (Sandbox Code Playgroud)\n

AndroidManifest.xml:

\n
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />\n    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />\n    <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />\n
Run Code Online (Sandbox Code Playgroud)\n

MainActivity.kt:

\n
    package com.example.test_exif_save\n    \n    import android.content.ContentUris\n    import …
Run Code Online (Sandbox Code Playgroud)

android exif kotlin androidx android-exifinterface

2
推荐指数
1
解决办法
2059
查看次数

标签 统计

android ×1

android-exifinterface ×1

androidx ×1

exif ×1

kotlin ×1