title: android camera : Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity
body: <p>i've really frustased to solve my problem, i have an application that using camera, when camera capture a photo, it will display on activity, when i'm not using <code>cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mPhotoUri);</code> photo will display on activity, but the name and path file is not like what i wanted. i'm using galaxy tab for compiling it, i have follow tutorial to solve my problem from <a href="http://kevinpotgieter.wordpress.com/2011/03/30/null-intent-passed-back-on-samsung-galaxy-tab/" rel="nofollow noreferrer">here</a> , <a href="https://stackoverflow.com/questions/15432592/get-path-of-image-on-android">here</a> and <a href="https://github.com/deepwinter/AndroidCameraTester" rel="nofollow noreferrer">here</a> but my application still force close and eror, this is my code :</p>
  <pre class="lang-java prettyprint-override"><code>{
      File sdCard = Environment.getExternalStorageDirectory();
      File path = new File (sdCard.getAbsolutePath() + &quot;/android/data/spaj_foto&quot;);
      path.mkdir();
      File file = new File (path,&quot;spaj_foto.png&quot;);
      String filePath =&quot;/android/data/spaj_foto/spaj_foto.png&quot;;
  
      try {
          file.createNewFile();
      } catch (IOException e) {}       
  
  
      mPhotoUri = Uri.fromFile(file); 
      values.put(MediaStore.Images.ImageColumns.DATA, file.getPath());
      mPhotoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
  
      Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
      cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mPhotoUri);
      startActivityForResult(cameraIntent,TAKE_PHOTO_CODE );  
  
  }
  </code></pre>
  <p>activityresult method :</p>
  <pre class="lang-java prettyprint-override"><code>@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
      if (requestCode == TAKE_PHOTO_CODE &amp;&amp; resultCode == RESULT_OK) {
          Bitmap photo = (Bitmap) data.getExtras().get(&quot;data&quot;); 
          image_spaj.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));
  
  //              System.out.println(mImageCaptureUri);
      }  
  }
  public String getRealPathFromURI(Uri mPhotoUri) {
      Cursor cursor = getContentResolver().query(mPhotoUri, null, null, null, null); 
      cursor.moveToFirst(); 
      int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); 
      return cursor.getString(idx); 
  }
  
  public Uri getImageUri(Context inContext, Bitmap inImage) {
      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
      inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
      String path = Images.Media.insertImage(inContext.getContentResolver(), inImage, &quot;Title&quot;, null);
      return Uri.parse(path);
  }
  </code></pre>
  <p>this is my logcat says:</p>
  <pre><code>    09-27 10:59:43.186: E/AndroidRuntime(31318): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity {org.example.touch/org.example.touch.FormSpaj}: java.lang.NullPointerException
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3179)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3222)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.app.ActivityThread.access$1100(ActivityThread.java:140)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1276)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.os.Handler.dispatchMessage(Handler.java:99)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.os.Looper.loop(Looper.java:137)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.app.ActivityThread.main(ActivityThread.java:4895)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at java.lang.reflect.Method.invokeNative(Native Method)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at java.lang.reflect.Method.invoke(Method.java:511)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at dalvik.system.NativeStart.main(Native Method)
  09-27 10:59:43.186: E/AndroidRuntime(31318): Caused by: java.lang.NullPointerException
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at org.example.touch.FormSpaj.onActivityResult(FormSpaj.java:993)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.app.Activity.dispatchActivityResult(Activity.java:5347)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3175)
  09-27 10:59:43.186: E/AndroidRuntime(31318):    ... 11 more
  </code></pre>
  <p>i really hope someone can help me to solve my problem, i already stack and can't thinking anyway again, please someone help me... thank you.</p>