Author: Anonymous Language: java
Description: Android Camera and Image Select Snippet (v2) Timestamp: 2009-12-28 09:36:44 -0500
View raw paste Parent paste by: abwaters Reply
   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 ;
       
View raw paste Parent paste by: abwaters Reply