I want to capture an image using camera and store it in server. But I am getting null pointer exception after capturing the image. Completed mostly but this error is annoying. I am newbie to android i don't know why this error occurs. Need help thanks in advance
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK && requestCode == CAMERA) {
        if (data == null) {
            Snackbar.make(parentView, R.string.string_unable_to_pick_image, Snackbar.LENGTH_INDEFINITE).show();
            return;
        }
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(photo);
        // CALL THIS METHOD TO GET THE URI FROM THE BITMAP
            Uri tempUri = getImageUri(getApplicationContext(), photo);
            // CALL THIS METHOD TO GET THE ACTUAL PATH
        File finalFile = new File(getRealPathFromURI(tempUri));
            decodeFile(finalFile.toString());}}
**getImageUri method **
 public Uri getImageUri(Context inContext, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "aadhar", null);
    return Uri.parse(path);//getting error here
}
getRealPathFromURI Method
public String getRealPathFromURI(Uri uri) {
    Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    cursor.moveToFirst();
    int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
    return cursor.getString(idx);
}
decodeFile Method
 public void decodeFile(String filePath) {
    // Decode image size
    BitmapFactory.Options o = new BitmapFactory.Options();
    o.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(filePath, o);
    // The new size we want to scale to
    final int REQUIRED_SIZE = 1024;
    // Find the correct scale value. It should be the power of 2.
    int width_tmp = o.outWidth, height_tmp = o.outHeight;
    int scale = 1;
    while (true) {
        if (width_tmp < REQUIRED_SIZE && height_tmp < REQUIRED_SIZE)
            break;
        width_tmp /= 2;
        height_tmp /= 2;
        scale *= 2;
    }
    // Decode with inSampleSize
    BitmapFactory.Options o2 = new BitmapFactory.Options();
    o2.inSampleSize = scale;
   Bitmap bitmap = BitmapFactory.decodeFile(filePath, o2);
    imageView.setImageBitmap(bitmap);
}
Error
             Caused by: java.lang.NullPointerException: uriString
                  at android.net.Uri$StringUri.<init>(Uri.java:475)
                  at android.net.Uri$StringUri.<init>(Uri.java)
                  at android.net.Uri.parse(Uri.java:437)
                  at com.androidbuts.ui.MainActivity.getImageUri(MainActivity.java:274)
                  at com.androidbuts.ui.MainActivity.onActivityResult(MainActivity.java:233)
                  at android.app.Activity.dispatchActivityResult(Activity.java:7139)
 
    