title: Can't load image taken from camera into an ImageView
body: <p>I am able to save the image taken from camera into internal storage, however I can't load it into ImageView, which remains empty. I've read all relevant suggestions but couldn't find a suitable solution. Please find relevant code below, any help will be MUCH appreciated, as I'm struggling with it for days...</p>
  
  <p>Manifest permissions:</p>
  
  <pre><code>&lt;uses-feature android:name="android.hardware.camera" /&gt;
  &lt;uses-permission android:name="android.permission.CAMERA"/&gt;
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
  &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/&gt;
  </code></pre>
  
  <p>ImageView on XML:</p>
  
  <pre><code>&lt;ImageView
      android:id="@+id/recipeImage"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginRight="10dp"
      android:layout_weight="1"
      android:background="@color/backgroundColorHomeBottomLayout"
      android:padding="30dp" /&gt;
  </code></pre>
  
  <p>Relevant activity:</p>
  
  <pre><code>@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  
      if (requestCode == REQUEST_IMAGE_CAPTURE) {
          if (resultCode == RESULT_OK) {
              setPic();
              //mImageView.setImageURI(fileUri);
          }
          else if (resultCode == RESULT_CANCELED) {
              /** user cancelled Image capture */
              Toast.makeText(this,
                      "User cancelled image capture", Toast.LENGTH_SHORT)
                      .show();
          } else {
              /** failed to capture image */
              Toast.makeText(this,
                      "Sorry! Failed to capture image", Toast.LENGTH_SHORT)
                      .show();
          }
      }
  }
  
  /** Internal memory methods */
  private void launchCameraIntent() {
      Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
          /** Ensure that there's a camera activity to handle the intent */
      if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
          /** Create the File where the photo should go */
          File photoFile = null;
          try {
              photoFile = createImageFile();
          } catch (IOException ex) {
              // Error occurred while creating the File
          }
          // Continue only if the File was successfully created
          if (photoFile != null) {
              Uri photoURI = FileProvider.getUriForFile(this,
                      "v3.com.mycookbook5.fileprovider",
                      photoFile);
              takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
              startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
          }
      }
  }
  
  /** return a unique file name for a new photo using a date-time stamp */
  private File createImageFile() throws IOException {
      /** Create an image file name */
      String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
      String imageFileName = "JPEG_" + timeStamp + "_";
      File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
      File image = File.createTempFile(
              imageFileName,  /* prefix */
              ".jpg",         /* suffix */
              storageDir      /* directory */
      );
      /** Save a file: path for use with ACTION_VIEW intents */
      mCurrentPhotoPath = "file:" + image.getAbsolutePath();
      return image;
  }
  
  private void setPic() {
      // Get the dimensions of the View
      int targetW = mImageView.getWidth();
      int targetH = mImageView.getHeight();
  
      // Get the dimensions of the bitmap
      BitmapFactory.Options bmOptions = new BitmapFactory.Options();
      bmOptions.inJustDecodeBounds = true;
      BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
      int photoW = bmOptions.outWidth;
      int photoH = bmOptions.outHeight;
  
      // Determine how much to scale down the image
      int scaleFactor = Math.min(photoW/targetW, photoH/targetH);
  
      // Decode the image file into a Bitmap sized to fill the View
      bmOptions.inJustDecodeBounds = false;
      bmOptions.inSampleSize = scaleFactor;
      bmOptions.inPurgeable = true;
  
      Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
      mImageView.setImageBitmap(bitmap);
  }
  </code></pre>
  
  <p>Log:</p>
  
  <pre><code>07-03 12:56:07.188 3950-16091/? E/Drive.UninstallOperation: Package still installed v3.com.mycookbook5
  07-03 12:56:35.350 19680-19680/v3.com.mycookbook5 E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: file:/storage/emulated/0/Android/data/v3.com.mycookbook5/files/Pictures/JPEG_20160703_125629_-664091716.jpg: open failed: ENOENT (No such file or directory)
  07-03 12:56:35.350 19680-19680/v3.com.mycookbook5 E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: file:/storage/emulated/0/Android/data/v3.com.mycookbook5/files/Pictures/JPEG_20160703_125629_-664091716.jpg: open failed: ENOENT (No such file or directory)
  </code></pre>