Vorrei aggiungere i dati GPS come longitudine e latitudine nella foto jpeg. La foto viene catturata inserendo la scheda (NFC) Nel logcat è possibile visualizzare i valori corretti ma questi valori non possono essere scritti nel file di foto jpg!Android scrivere EXIF GPS Latitudine e Longitudine su JPEG non riuscito
Qui di seguito è il mio codice: E 'usato per prendere i file jpg salvati e chiamare il metodo seguito Il metodo è utilizzato per aggiungere parametri EXIF GPS in jpg I parametri GPS come la longitudine e la latitudine sono già occupati in un altro attività.
Io uso EXIF Viewer in Firefox per vedere il risultato.
La posizione per l'eccezione I/O è importante?
Quello che segue è l'importante log gatto log che può rendere il fallimento: novembre 07-26: 48: 30,386: D/NativeNfcTag (195): Tag perso, il riavvio del ciclo di polling
public static void writeFile (File photo, double latitude, double longitude) throws IOException{
ExifInterface exif = null;
try{
Log.v("latiDouble", ""+latitude);
Log.v("longiDouble", ""+longitude);
exif = new ExifInterface(photo.getCanonicalPath());
if (exif != null) {
double latitu = latitude;
double longitu = longitude;
double alat = Math.abs(latitu);
double along = Math.abs(longitu);
String stringLati = convertDoubleIntoDegree(alat);
String stringLongi = convertDoubleIntoDegree(along);
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE, stringLati);
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, stringLongi);
Log.v("latiString", ""+ stringLati);
Log.v("longiString", ""+ stringLongi);
exif.saveAttributes();
String lati = exif.getAttribute (ExifInterface.TAG_GPS_LATITUDE);
String longi = exif.getAttribute (ExifInterface.TAG_GPS_LONGITUDE);
Log.v("latiResult", ""+ lati);
Log.v("longiResult", ""+ longi);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Il sotto è il grado di chiamare il metodo ...
Cursor locationCursor = dbHandler.fetchGpsLocationTypeByAttendInfoID(attendInfoId);
if (locationCursor.getCount()>0) {
double latitude = dbHandler.fetchDoubleItem(locationCursor,"LATITUDE");
double longitude = dbHandler.fetchDoubleItem(locationCursor,"LONGITUDE");
Log.v("latitude",""+latitude);
Log.v("latitude",""+longitude);
try {
GpsUtils.writeFile(photoFile, latitude, longitude);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
dbHandler.close();
cameraHandler.startPreview();
Avremo probabilmente bisogno di maggiori informazioni su ciò che il codice fa (passando attraverso di esso e spiegare ciò che ogni linea non potrebbe condurvi ad una soluzione, anche) e ogni ricerca Ho già fatto per la domanda. Ad esempio, se ottieni un'eccezione, qual è l'eccezione? Fondamentalmente, se è qualcosa che pensi possa aiutare qualcuno a rispondere alla domanda, sarebbe fantastico aggiungerla. – nil
Quello che ho visto è che il set di parametri è valido e può essere visualizzato dal logcat, ma comunque quando si aprono gli iamges da EXIF Viewer di Firefox, non riesco a vedere nessun dato GPS scritto in questa immagine. –