title: Tell the Camera Intent to save the taken image
body: <p>I'm doing this:</p>
  
  <pre><code>intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  final File storage = Environment.getExternalStorageDirectory();
  final Uri uri = Uri.fromFile(new File(storage, System.currentTimeMillis() + ".jpg"));
  intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
  startActivityForResult(intent, id);
  </code></pre>
  
  <p>and to handle get that photo, I do this:</p>
  
  <pre><code>private String getLastImagePath() {
      final String[] imageColumns = { MediaStore.Images.Media._ID,
              MediaStore.Images.Media.DATA };
      final String imageOrderBy = MediaStore.Images.Media._ID + " DESC";
      final Cursor imageCursor = getContentResolver().query(
              MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageColumns,
              null, null, imageOrderBy);
      if (imageCursor.moveToFirst()) {
          final String fullPath = imageCursor.getString(imageCursor
                  .getColumnIndex(MediaStore.Images.Media.DATA));
          return fullPath;
      } else {
          throw new RuntimeException();
      }
  }
  </code></pre>
  
  <p>However, I keep on getting messages like this one:</p>
  
  <pre><code>07-02 14:46:54.751: E/BitmapFactory(23119): Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/IMG_20130702_144653.jpg: open failed: ENOENT (No such file or directory)
  </code></pre>
  
  <p>If I check the Gallery, the photo is not there, so my guess is that the Intent is ignoring the <code>MediaStore.EXTRA_OUTPUT</code> value.</p>
  
  <p>Is there anything I can do that does not involve writing my own Camera solution?</p>