手机拍照加入相关信息说明

Button imagecapture = (Button)findViewById(R.id.imagecapture);      
imagecapture.setOnClickListener(new View.OnClickListener() {      
   public void onClick(View view) {               
     String filename = null;               
     ImageCaptureCallback iccb = null;                       
        try {                       
            filename = timeStampFormat.format(new Date());                       
            ContentValues values = new ContentValues();                       
            values.put(Media.TITLE, filename);                       
            values.put(Media.DESCRIPTION, "Image capture by camera");                       
            Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);                      
             iccb = new ImageCaptureCallback( getContentResolver().openOutputStream(uri));                       
             } catch(Exception ex ){                       
             ex.printStackTrace();                       
             Log.e(getClass().getSimpleName(), ex.getMessage(), ex);                       
             }               
             camera.takePicture(mShutterCallback, mPictureCallbackRaw, iccb);               
             com.froogloid.android.gspot.Park.imageFileName = filename;       
             }   
             });
            
            
             private OutputStream filoutputStream;
             public ImageCaptureCallback(OutputStream filoutputStream) {       
             this.filoutputStream = filoutputStream;
             }
             @Override 
             public void onPictureTaken(byte[] data, Camera camera) {       
                try {                       
                   Log.v(getClass().getSimpleName(), "onPictureTaken=" + data + " length = " + data.length);                   
                     FileOutputStream buf = new FileOutputStream("/sdcard/dcim/Camera/" + CameraActivity.filename + ".jpg");                       
                     buf.write(data);                       
                     buf.flush();                       
                     buf.close();                
                      // filoutputStream.write(data);                       
                      filoutputStream.flush();                       
                      filoutputStream.close();              
                      } catch(Exception ex) {                       
                      ex.printStackTrace();               
                      }               
                }
        }


主要是这几句的使用
ContentValues values = new ContentValues();                       
            values.put(Media.TITLE, filename);                       
            values.put(Media.DESCRIPTION, "Image capture by camera");                       
            Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values); 

你可能感兴趣的:(android)