title: How to display the image from Camera in Android
body: <p>I am trying to create an android application that will take an image and display 
  it to user for further actions. </p>
  
  <p>This is the Camera activity. It is started when the user presses a floating action button from the previous activity. The Camera intent is triggered within onCreate itself. </p>
  
  <p>Camera action is working perfectly, it takes photo just fine. But neither it is getting saved in the gallery nor it is getting displayed in the ImageView defined below. </p>
  
  <p>I am trying to display the captured image inside the ImageView but the camera activity just moves back to the menu activity without displaying anything. How can I solve this problem ?</p>
  
  <pre><code>public class Camera extends AppCompatActivity {
  
  public static final String TAG = Camera.class.getSimpleName();
  static final int REQUEST_IMAGE_CAPTURE = 1;
  private Bitmap mImageBitmap;
  private String mCurrentPhotoPath;
  private ImageView mImageView = (ImageView)findViewById(R.id.mImageView);
  
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.camera_layout);
  
  
  
      Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
      if (cameraIntent.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
              Log.i(TAG, "IOException");
          }
          // Continue only if the File was successfully created
          if (photoFile != null) {
              cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
              startActivityForResult(cameraIntent, REQUEST_IMAGE_CAPTURE);
          }
      }
  
  }
  
  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 = Environment.getExternalStoragePublicDirectory(
              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;
  }
  
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    }
  
      if (requestCode == REQUEST_IMAGE_CAPTURE &amp;&amp; resultCode == RESULT_OK) {
          try {
              Log.v("This is totally working", "Yeah!");
              mImageBitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), Uri.parse(mCurrentPhotoPath));
              mImageView.setImageBitmap(mImageBitmap);
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>This is the XML code for the layout</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"&gt;
  
  &lt;ImageView
      android:id="@+id/mImageView"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_weight="7" /&gt;
  
  
  &lt;/FrameLayout&gt;
  </code></pre>