为了获得图像的Exif信息,我写了一些代码如下:
ExifInterface exif = new ExifInterface(path);
String aaa= (exif.getAttribute(ExifInterface.TAG_DATETIME));
我还在AndroidManifest.xml中添加了读取,写入权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
现在问题出在某些特定文件夹中,例如 /存储/ emultaed / 0 /图片/存储/ emultaed / 0 /下载, exif.getAttribute(...)的返回值为null。
我想知道是否有任何第三方库可以解决这个问题? 谢谢你的帮助。
答案 0 :(得分:0)
有些图片工作正常 - 问题是数据,而不是代码。我怀疑某些设备/应用程序以ExifInterface无法解析的非标准方式编码其exif数据。 您可以使用exiftool转储EXIF,并对其进行修改和标准化
答案 1 :(得分:0)
Exif中实际上有几个可能的日期时间值。并非所有图像都包含曝光时间。
我维护了一个Java metadata-extractor
库,它非常支持Exif和其他类型的元数据,以及一个简单的API。如果exiftool在您的图片文件中找到了日期时间,那么metadata-extractor
将允许您访问它。
看看GitHub。它也可以通过Maven获得。