get orientation of image from MediaStore.Images.Media.DATA

android, image, nullpointerexception, orientation, uri

Solution

Use this `method` to get the Orientation

public static int getExifOrientation(String filepath) {// YOUR MEDIA PATH AS STRING
        int degree = 0;
        ExifInterface exif = null;
        try {
            exif = new ExifInterface(filepath);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        if (exif != null) {
            int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);
            if (orientation != -1) {
                switch (orientation) {
                case ExifInterface.ORIENTATION_ROTATE_90:
                    degree = 90;
                    break;
                case ExifInterface.ORIENTATION_ROTATE_180:
                    degree = 180;
                    break;
                case ExifInterface.ORIENTATION_ROTATE_270:
                    degree = 270;
                    break;
                }

            }
        }
        return degree;
    }

Problem

i have MediaStore.Images.Media.DATA uri for an image how I can get MediaStore.Images.ImageColumns.ORIENTATION using that uri ? I am getting a NullPointerException. Following is my code, ``` private int getOrientation(Context context, Uri photoUri) { Log.v("orientatioon", "not crashed01"); Cursor cursor = context.getContentResolver().query(photoUri, new String[] { MediaStore.Images.ImageColumns._ID,MediaStore.Images.ImageColumns.ORIENTATION }, null, null, null); Log.v("orientatioon", "not crashed02"); cursor.moveToFirst(); Log.v("orientatioon", "not crashed 03"); int i=cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Images.ImageColumns.ORIENTATION)); Log.v("orientatioon", ""+i); cursor.close(); return i; } ``` I am getting a `NullPointerException` at cursor.moveToFirst() line of code.

Original source