मैं exif इंटरफ़ेस का उपयोग कर एंड्रॉइड एप्लिकेशन में एक कैप्चर की गई छवि में User_Comment
और TAG_GPS
लिखने की कोशिश कर रहा हूं, लेकिन किसी कारण से टैग गैलरी में छवि के विवरण देखने पर छवि में शामिल नहीं लगते हैं ।Android में छवि के लिए exif डेटा कैसे लिखें?
ऐसा लगता है कि हो सकता है कि टैग कैप्चर की गई छवि पर नहीं लिखे जा रहे हैं क्योंकि फ़ाइल पथ गलत हो सकता है। मुझे लगता है कि ऐसा इसलिए हो सकता है क्योंकि मैंने टैग को गलत छवि पथ में लिखा है।
क्या किसी को पता है कि क्या वे छवि में टैग लिखने के तरीके में कोई समस्या है?
private File getOutputPhotoFile() throws IOException {
File directory = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), getPackageName());
if (!directory.exists()) {
if (!directory.mkdirs()) {
Log.e(TAG, "Failed to create storage directory.");
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyMMdd_HHmmss", Locale.ENGLISH).format(new Date());
File[] files = directory.listFiles();
File exifVar = new File(directory.getPath(), "IMG_" + timeStamp + ".jpg");
if(files.length!=0) {
File newestFile = files[files.length-1];
exifVar = new File(directory.getPath() + File.separator + newestFile.getName());
}
String mString = "Generic Text..";
ExifInterface exif = new ExifInterface(exifVar.getAbsolutePath());
exif.setAttribute("UserComment", mString);
exif.saveAttributes();
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE,
String.valueOf(latituteField.toString()));
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE,
String.valueOf(longitudeField.toString()));
exif.saveAttributes();
return exifVar;
}
आप exif.saveAttributes को कई बार क्यों कॉल कर रहे हैं? मेरा मानना है कि हर बार एक नई छवि बनाता है। बस सोच रहा है – wkhatch
यह संभव है, मैंने थोड़ी देर में इस परियोजना पर काम नहीं किया है, मुझे लगता है कि समस्या यह हो सकती है कि डेटा "exif" नामक एक अस्थायी छवि में सहेजा जा रहा है और इसे कभी भी मूल छवि में नहीं लिखा गया है। –