GPS долгота и широта с геотегом фото - PullRequest
5 голосов
/ 03 марта 2011

В камере телефона включена функция геотегирования. Сохраняет информацию о широте и долготе (я проверял). Я пытаюсь прочитать это так

import static android.provider.MediaStore.Images.ImageColumns.*;    

Uri queryPhotoUri = ...; //uri of photo
String[] photoProjection = {LATITUDE,LONGITUDE,ORIENTATION,DESCRIPTION}; 

Cursor photoData = getContext().getContentResolver().query(
            queryPhotoUri, photoProjection, null, null, null);

int latIdx = photoData.getColumnIndex(LATITUDE);
int lngIdx = photoData.getColumnIndex(LONGITUDE);
int oriIdx = photoData.getColumnIndex(ORIENTATION);
int txtIdx = photoData.getColumnIndex(DESCRIPTION);

boolean latExists = !photoData.isNull(latIdx);
boolean lngExists = !photoData.isNull(lngIdx);
boolean oriExists = !photoData.isNull(oriIdx);
boolean txtExists = !photoData.isNull(txtIdx);

oriExists оценивается как ИСТИНА, остальное - ЛОЖЬ. Зачем? Записывает ли поставщик содержимого изображения широту и долготу в качестве атрибута exif в файл фотографии или сохраняет их где-то еще?

Также я пытаюсь написать описание фотографии в столбце ОПИСАНИЕ, но оно не сохраняется. Где хранится описание?

Редактировать: Это становится незнакомым. Я проверил источник фреймворка и класс MediaProvider считывает теги exif с фотографии и сохраняет их в базе данных. Однако поля широты и долготы по какой-то причине не сохраняются.

1 Ответ

1 голос
/ 04 октября 2012

Я предлагаю вам использовать ExifInterface

...