private void doCaptureImage() { Intent i = new Intent("android.media.action.IMAGE_CAPTURE"); this.startActivityForResult(i,REQUEST_CAMERA) ; } private void doSelectImage() { Log.d("PingDroid","PostActivity::doSelectImage()") ; Intent i = new Intent(Intent.ACTION_PICK) ; i.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.CONTENT_TYPE) ; this.startActivityForResult(i,REQUEST_SELECT_PHOTO) ; } // fragment of onActivityResult() case REQUEST_CAMERA: if( resultCode != 0 ) { Bundle extras = data.getExtras() ; Bitmap bmp = (Bitmap)extras.get("data") ; if( bmp != null ) { File f = this.getFileStreamPath("ping_media.jpg") ; if( f.exists() ) f.delete() ; try { FileOutputStream out = this.openFileOutput("ping_media.jpg",MODE_PRIVATE); bmp.compress(CompressFormat.JPEG, 12, out) ; out.close() ; media_path = f.getAbsolutePath() ; Log.d("PingDroid","onActivityResult("+requestCode+","+resultCode+","+media_path+")") ; } catch (FileNotFoundException e) { Log.e("PingDroid","FileNotFoundException generated when using camera") ; } catch (IOException e) { Log.e("PingDroid","IOException generated when using camera") ; } }else clearImage() ; }else clearImage() ; break ; case REQUEST_SELECT_PHOTO: if( resultCode != 0 ) { Cursor c = managedQuery(data.getData(),null,null,null,null) ; if( c.moveToFirst() ) { media_path = c.getString(1) ; Log.d("PingDroid","onActivityResult("+requestCode+","+resultCode+","+media_path+")") ; }else clearImage() ; }else clearImage() ; break ;