title: Why when photoURI passed on the onActivity() says null?? what am i doing wrong
body: <p>This is my MainActivity other functions actually works except for the buttonUpload. The app unfortunately stops when i hit the buttonUpload.</p>
  
  <p>Any insights guys? badly needs. 
  And also my logcat is not working on android studio 2.3.1 idk why</p>
  
  <pre><code> public class MainActivity extends AppCompatActivity {
  
  private TrackGPS gps;
  private Button buttonUpload;
  private EditText editTextMessage;
  double longitude;
  double latitude;
  
  private StorageReference storage;
  private static final int CAMERA_REQUEST_CODE = 1;
  private ProgressDialog progressDialog;
  
  String mCurrentPhotoPath;
  
  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 = image.getAbsolutePath();
      return image;
  }
  
  private void dispatchTakePictureIntent() {
      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,
                      "com.example.android.fileprovider",
                      photoFile);
              takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
              startActivityForResult(takePictureIntent, CAMERA_REQUEST_CODE);
          }
      }
  }
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      buttonUpload = (Button) findViewById(R.id.buttonUpload);
      editTextMessage = (EditText) findViewById(R.id.editTextMessage);
      storage = FirebaseStorage.getInstance().getReference();
      progressDialog = new ProgressDialog(this);
  
  
      buttonUpload.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {
              //Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
              dispatchTakePictureIntent();
  
          }
      });
  }
  
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
  
      if(requestCode == CAMERA_REQUEST_CODE &amp;&amp; resultCode == RESULT_OK){
          progressDialog.setMessage("Uploading...");
          progressDialog.show();
          Uri uri = data.getData();
  
          StorageReference filepath = storage.child("Photos").child(uri.getLastPathSegment());
          filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener&lt;UploadTask.TaskSnapshot&gt;() {
              @Override
              public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                  Toast.makeText(MainActivity.this, "Upload Successful!", Toast.LENGTH_SHORT).show();
                  progressDialog.dismiss();
              }
          }).addOnFailureListener(new OnFailureListener() {
              @Override
              public void onFailure(@NonNull Exception e) {
                  Toast.makeText(MainActivity.this, "Upload Failed!", Toast.LENGTH_SHORT).show();
              }
          });
      }
  }
  
  
  public void distressMessage(View view){
      gps = new TrackGPS(MainActivity.this);
      String message = "";
  
      if(view.getId() == R.id.fab){
          message = editTextMessage.getText().toString();
      }else {
          Button sender = (Button) view;
          message = sender.getText().toString();
      }
  
  
      SmsManager smsManager = SmsManager.getDefault();
  
      if(gps.canGetLocation()){
  
  
          longitude = gps.getLongitude();
          latitude = gps.getLatitude();
  
          smsManager.sendTextMessage("+639972301925", null, message + "\n\nLongitude:"+Double.toString(longitude)+"\nLatitude:"+Double.toString(latitude), null, null);
          Toast.makeText(getApplicationContext(),"Longitude:"+Double.toString(longitude)+"\nLatitude:"+Double.toString(latitude),Toast.LENGTH_SHORT).show();
      }
      else
      {
  
          gps.showSettingsAlert();
      }
  
  
  } 
  </code></pre>
  
  <p>}</p>
  
  <p>And here is my Logcat</p>
  
  <pre><code>                                             java.lang.RuntimeException: Unable to resume activity {com.example.niki.currentlocation/com.example.niki.currentlocation.MainActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.example.niki.currentlocation/com.example.niki.currentlocation.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
                                                   at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2986)
                                                   at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)
                                                   at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:135)
                                                   at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.example.niki.currentlocation/com.example.niki.currentlocation.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
                                                   at android.app.ActivityThread.deliverResults(ActivityThread.java:3574)
                                                   at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2972)
                                                   at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017) 
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
                                                   at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                   at android.os.Looper.loop(Looper.java:135) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
                                                Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
                                                   at com.example.niki.currentlocation.MainActivity.onActivityResult(MainActivity.java:101)
                                                   at android.app.Activity.dispatchActivityResult(Activity.java:6192)
                                                   at android.app.ActivityThread.deliverResults(ActivityThread.java:3570)
                                                   at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2972) 
                                                   at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3017) 
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
                                                   at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                   at android.os.Looper.loop(Looper.java:135) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
  </code></pre>
  
  <p>THIS IS THE PROBLEM. help please</p>
  
  <pre><code>  java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.example.niki.currentlocation/com.example.niki.currentlocation.MainActivity}: java.lang.NullPointerException: 
   Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
  </code></pre>