title: android camera picture uri returning with a Failure delivering result ResultInfo
body: <p>I've made a app with two buttons</p>
  
  <ul>
  <li>one to select an image from the gallery</li>
  <li>one to take a new image with the camera</li>
  </ul>
  
  <p>The process for the gallery select works fine, if I take a picture with the camera it keep getting  <code>Failure delivering result ResultInfo</code> error. And it seems the image is not writen to the folder.</p>
  
  <p>Since both return the same I have one handler to cope with the result;</p>
  
  <pre><code>protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
          if (requestCode == 1) {  
              if (resultCode == RESULT_OK &amp;&amp; data.getData() != null){
                  try {
                      Log.i("YADDA",data.getData().toString());
                      Uri targetUri = data.getData();
                      if (targetUri != null) {
                          //Log.i("YADDA",targetUri.toString());
                          myImage nsi = new myImage();
                          nsi.ThumbNail = getThumbnail(targetUri);
                          nsi.path = targetUri;
                          nsi.FileName = FileNameBase + "_" +     String.valueOf(1 + photos.size());
                          photos.add(nsi);
                      }
  
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
  
                  DrawImageGallery();
              }
          }
  </code></pre>
  
  <p>The Button handlers;</p>
  
  <pre><code>    nsbu1.setOnClickListener(new Button.OnClickListener() {
           public void onClick(View v){
               Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
               photoPickerIntent.setType("image/*");
               startActivityForResult(photoPickerIntent, 1);
          }
      });
  
      nsbu2.setOnClickListener(new Button.OnClickListener() {
           public void onClick(View v){
               Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                   // Uri myuri=Uri.fromFile(new     File(Environment.getExternalStorageDirectory().getAbsolutePath(), FileNameBase + ".jpg"));
                   Uri myuri=Uri.fromFile(new File("/mnt/sdcard/tmp/" + FileNameBase + ".jpg"));
  
                   Log.i("YADDA", myuri.toString());
                   intent.putExtra(MediaStore.EXTRA_OUTPUT, myuri );
  
                   startActivityForResult(cameraIntent, 1);  
              }
          });
  </code></pre>
  
  <p>Things I tried:</p>
  
  <ul>
  <li>I've double checked the, manifest for write permissions on the SDcard</li>
  <li>wierd thing is, the handler must be correct, because a picture from gallery works fine</li>
  <li>Some version of android have a bug with this camera handler, but I've check, my Nexus S has is not one of them.</li>
  <li>googled/debugged for hours and hours</li>
  </ul>
  
  <p>Logcat output; </p>
  
  <pre><code> 09-01 10:02:59.085: ERROR/AndroidRuntime(1898): FATAL EXCEPTION: main
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.android.spot/com.android.spot.newsite}: java.lang.NullPointerException
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.app.ActivityThread.deliverResults(ActivityThread.java:2532)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:2574)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.app.ActivityThread.access$2000(ActivityThread.java:117)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:961)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.os.Handler.dispatchMessage(Handler.java:99)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.os.Looper.loop(Looper.java:130)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.app.ActivityThread.main(ActivityThread.java:3683)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at java.lang.reflect.Method.invokeNative(Native Method)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at java.lang.reflect.Method.invoke(Method.java:507)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at dalvik.system.NativeStart.main(Native Method)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898): Caused by: java.lang.NullPointerException
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at com.android.spot.newsite.onActivityResult(newsite.java:351)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.app.Activity.dispatchActivityResult(Activity.java:3908)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     at android.app.ActivityThread.deliverResults(ActivityThread.java:2528)
   09-01 10:02:59.085: ERROR/AndroidRuntime(1898):     ... 11 more
  </code></pre>