I try to select multiple images from photo gallery and save it in my custom folder on sdCard. I wrote some code but i have nullPintException this is a my source
  Intent intent = new Intent();
    intent.setType("image/*");
    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent,"Select Picture"), PICK_FROM_GALLERY);
and this is OnActivityResultCode
if(data!=null)
            {
                ClipData clipData = data.getClipData();
                for (int i = 0; i < clipData.getItemCount(); i++)
                {
                    Uri selectedImage = clipData.getItemAt(i).getUri();
                    if (selectedImage != null) {
                        mCurrentPhotoPath = getRealPathFromURI(selectedImage);
                        BitmapFactory.Options options = new BitmapFactory.Options();
                        options.inPreferredConfig = Bitmap.Config.ARGB_8888;
                        Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath, options);
                        // bitmap=getResizedBitmap(bitmap,1280,720);
                        String partFilename = currentDateFormat();
                        if (bitmap != null) {
                            SaveImage(bitmap, partFilename);
                        }
                    }
                }
public String getRealPathFromURI(Uri uri) {
    Cursor cursor = CarRecieveActivity.this.getContentResolver().query(uri, null, null, null, null);
    cursor.moveToFirst();
    int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
    return cursor.getString(idx);
}
        private void SaveImage(Bitmap finalBitmap,String fileName) {
    File myDir = new File(rootDirectory + "/"+vinNumber.getText().toString());
    myDir.mkdirs();
    String fname = fileName+".jpg";
    File file = new File (myDir, fname);
    try {
        FileOutputStream out = new FileOutputStream(file);
        finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
this is my source .i have two errors. first when i click only one image in my gallery clipData is null and second,when i choose multiple images from gallery and click ok button i have this error
 java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it
error is in this function getRealPathFromURI() how i can solve both problems? thanks