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 {
bmp.compress(CompressFormat.JPEG, 12, out) ;
out.close() ;
media_path = f.getAbsolutePath() ;
Log.d("PingDroid","onActivityResult("+requestCode+","+resultCode+","+media_path+")") ;
Log.e("PingDroid","FileNotFoundException generated when using camera") ;
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 ;