title: image from camera intent issue in android
body: <p>I am integrating facebook with android and I want when taking a phot , save it to sdcard and then upload it to facebook.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>photo_up=(Button)findViewById(R.id.camera_foto_button);
              photo_up.setOnClickListener(new View.OnClickListener() {
                     public void onClick(View v) {
                         final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
                         intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(getTempFile(PlaceScreen.this)) );   
                         startActivityForResult(intent,CAMERA_REQUEST); 
                     }
                  });
  
   private File getTempFile(Context context){  
            //it will return /sdcard/image.tmp  
            final File path = new File( Environment.getExternalStorageDirectory(), context.getPackageName() );  
            if(!path.exists()){  
              path.mkdir();  
            }  
            return new File(path, "image.png");  
          } 
  </code></pre>
  
  <p>and the OnActivity Result</p>
  
  <pre><code>protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
      switch(requestCode){
                  case CAMERA_REQUEST:{
                      final File file = getTempFile(this);  
                      try {  
                        bmp = MediaStore.Images.Media.getBitmap(this.getContentResolver(), Uri.fromFile(file) );  
                        // do whatever you want with the bitmap (Resize, Rename, Add To Gallery, etc)  
                      } catch (FileNotFoundException e) {  
                        e.printStackTrace();  
                      } catch (IOException e) {  
                        e.printStackTrace();  
                      }  
  
  
                      ByteArrayOutputStream stream = new ByteArrayOutputStream();        
                      bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);         
                      byteArray = stream.toByteArray(); // convert camera photo to byte array  
                      Bundle params = new Bundle();       
                      params.putByteArray("picture", byteArray);      
                      params.putString("message", "Have fun");       
                      Utility.mAsyncRunner.request("me/photos", params,
                              "POST", new PhotoUploadListener(), null);
                      break;
                  }
  </code></pre>
  
  <p>So what happens is this: Camera opens, imagae captured and saved but I get a force close and it is not uploaded on fb.</p>
  
  <p>I checked it on my phone,too. Logcat is here:</p>
  
  <pre><code>05-31 02:50:19.437: E/AndroidRuntime(2470): FATAL EXCEPTION: main
  05-31 02:50:19.437: E/AndroidRuntime(2470): java.lang.RuntimeException: Unable to resume activity {com.myname.package/com.myname.package.PlaceScreen}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1888, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.myname.package/com.myname.package.PlaceScreen}: java.lang.NullPointerException
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2124)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2139)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1672)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:2836)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.access$1600(ActivityThread.java:117)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.os.Handler.dispatchMessage(Handler.java:99)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.os.Looper.loop(Looper.java:130)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.main(ActivityThread.java:3687)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at java.lang.reflect.Method.invokeNative(Native Method)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at java.lang.reflect.Method.invoke(Method.java:507)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at dalvik.system.NativeStart.main(Native Method)
  05-31 02:50:19.437: E/AndroidRuntime(2470): Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1888, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.myname.package/com.myname.package.PlaceScreen}: java.lang.NullPointerException
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.deliverResults(ActivityThread.java:2536)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2111)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     ... 13 more
  05-31 02:50:19.437: E/AndroidRuntime(2470): Caused by: java.lang.NullPointerException
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at com.myname.package.PlaceScreen.onActivityResult(PlaceScreen.java:325)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.Activity.dispatchActivityResult(Activity.java:3908)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     at android.app.ActivityThread.deliverResults(ActivityThread.java:2532)
  05-31 02:50:19.437: E/AndroidRuntime(2470):     ... 14 more
  </code></pre>
  
  <p>edit:</p>
  
  <p>Ok my bmp where is null. Why is that? What ius wrong?</p>
  
  <pre><code>bmp = MediaStore.Images.Media.getBitmap(this.getContentResolver(), Uri.fromFile(file) );  
  bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 
  </code></pre>
  
  <p>can anyone find out why my bmp is null while I can see the image in the gallery. That means that image is taken normally but nothing gets as a result of bmp=MediaStore.Images.Media</p>