Longitud y latitud del GPS de la foto geotiquetada

Tengo geo etiquetado habilitado en mi cámara de teléfono. Guarda la latitud y la información de la longitud (he comprobado). Estoy tratando de leerlo así

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 evalúa a TRUE, el resto a FALSE. ¿Por qué? ¿El proveedor de contenido de imagen escribe la latitud y la longitud como un atributo exif en el archivo de fotos o los almacena en otro lugar?

Además, estoy tratando de escribir la descripción de la foto en la columna DESCRIPCIÓN, pero no se guarda. ¿Dónde se almacena la descripción?

Edit: Esto se está poniendo extraño. He comprobado la fuente del marco y la clase MediaProvider lee las etiquetas exif de la foto y las almacena en la base de datos. Sin embargo, los campos de latitud y longitud no se almacenan por alguna razón.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.