2015-09-30 3 views
1

Для того, чтобы получить информацию Exif изображения, я написал некоторые коды, как показано ниже:Android получить 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 (...) равны нулю.

Мне интересно, есть ли какие-либо сторонние библиотеки, которые могут решить эту проблему? Спасибо за помощь.

ответ

0

Некоторые фотографии работают нормально - поэтому проблема была в данных, а не в вашем коде. Я подозреваю, что некоторые устройства/приложения кодируют свои данные exif нестандартным способом, который ExifInterface не может проанализировать. Вы можете использовать exiftool, чтобы сбрасывать EXIF, а также изменить и стандартизировать его.

0

В Exif имеется фактически несколько возможных значений даты и времени. Не все изображения также содержат время экспозиции.

Я поддерживаю metadata-extractor библиотеку Java, которая имеет большую поддержку Exif и другие типы метаданных, и простой API. Если exiftool находит дату-время в ваших файлах изображений, то metadata-extractor предоставит вам доступ к нему.

Посмотрите на GitHub. Он доступен через Maven.

https://github.com/drewnoakes/metadata-extractor

Смежные вопросы