Read Exif Tag Of Jpg Using Exifinterface(Inputstream)

Posted on

Last post exhibit how to opened upward icon of jpeg using Intent.ACTION_OPEN_DOCUMENT (added inwards API degree 19), thus display the icon in addition to read the Exif tag using ExifInterface (FileDescriptor)(added inwards API degree 24). Here is around other option using ExifInterface(InputStream) (added inwards API degree 24) to read Exif.

Simple modify the method showExif(Uri photoUri). All other follow the final example. It accept the same result:

     void showExif(Uri photoUri){         if(photoUri != null){              /*             How to convert the Uri to InputStream, refer to the event inwards the document:             https://developer.android.com/guide/topics/providers/document-provider.html              */              endeavor {                 InputStream inputStream = getContentResolver().openInputStream(photoUri);                  /*                 ExifInterface (InputStream inputStream) added inwards API degree 24                  */                 ExifInterface exifInterface = novel ExifInterface(inputStream);                  String exif="Exif: ";                 exif += "\nIMAGE_LENGTH: " +                         exifInterface.getAttribute(ExifInterface.TAG_IMAGE_LENGTH);                 exif += "\nIMAGE_WIDTH: " +                         exifInterface.getAttribute(ExifInterface.TAG_IMAGE_WIDTH);                 exif += "\n DATETIME: " +                         exifInterface.getAttribute(ExifInterface.TAG_DATETIME);                 exif += "\n TAG_MAKE: " +                         exifInterface.getAttribute(ExifInterface.TAG_MAKE);                 exif += "\n TAG_MODEL: " +                         exifInterface.getAttribute(ExifInterface.TAG_MODEL);                 exif += "\n TAG_ORIENTATION: " +                         exifInterface.getAttribute(ExifInterface.TAG_ORIENTATION);                 exif += "\n TAG_WHITE_BALANCE: " +                         exifInterface.getAttribute(ExifInterface.TAG_WHITE_BALANCE);                 exif += "\n TAG_FOCAL_LENGTH: " +                         exifInterface.getAttribute(ExifInterface.TAG_FOCAL_LENGTH);                 exif += "\n TAG_FLASH: " +                         exifInterface.getAttribute(ExifInterface.TAG_FLASH);                 exif += "\nGPS related:";                 exif += "\n TAG_GPS_DATESTAMP: " +                         exifInterface.getAttribute(ExifInterface.TAG_GPS_DATESTAMP);                 exif += "\n TAG_GPS_TIMESTAMP: " +                         exifInterface.getAttribute(ExifInterface.TAG_GPS_TIMESTAMP);                 exif += "\n TAG_GPS_LATITUDE: " +                         exifInterface.getAttribute(ExifInterface.TAG_GPS_LATITUDE);                 exif += "\n TAG_GPS_LATITUDE_REF: " +                         exifInterface.getAttribute(ExifInterface.TAG_GPS_LATITUDE_REF);                 exif += "\n TAG_GPS_LONGITUDE: " +                         exifInterface.getAttribute(ExifInterface.TAG_GPS_LONGITUDE);                 exif += "\n TAG_GPS_LONGITUDE_REF: " +                         exifInterface.getAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF);                 exif += "\n TAG_GPS_PROCESSING_METHOD: " +                         exifInterface.getAttribute(ExifInterface.TAG_GPS_PROCESSING_METHOD);                  inputStream.close();                  Toast.makeText(getApplicationContext(),                         exif,                         Toast.LENGTH_LONG).show();               } select deal of (FileNotFoundException e) {                 e.printStackTrace();                 Toast.makeText(getApplicationContext(),                         "Something wrong:\n" + e.toString(),                         Toast.LENGTH_LONG).show();             } select deal of (IOException e) {                 e.printStackTrace();                 Toast.makeText(getApplicationContext(),                         "Something wrong:\n" + e.toString(),                         Toast.LENGTH_LONG).show();             }          }else{             Toast.makeText(getApplicationContext(),                     "photoUri == null",                     Toast.LENGTH_LONG).show();         }     };  

Next:
– Read Exif tag of JPG using ExifInterface(String filename)