2011-04-22 27 views
6

Quiero utilizar la instalación de la cámara en la aplicación de Android.Cámara en Android

Quiero capturar la imagen al hacer clic en el botón de control ¿alguien me puede sugerir el mejor ejemplo de ello?

+2

busque este sitio para "captura de cámara Android" – Mat

Respuesta

3
+0

por favor guíe con respecto al ejemplo android.hardware.Camera2 después de actualizar sdk no puede resolver algunas clases como Listner – koutuk

1
2
@Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button button = (Button)findViewById(id); 
button.setonClickListener(new View.onClickListener() 
      { 
     public void onClick(View view) 
      { 
       Intent intent = new Intent(); 
       intent.putExtra("aspectX", 730); 
       intent.putExtra("aspectY", 1115); 
       intent.putExtra("outputX", 730); 
       intent.putExtra("outputY", 1115); 
       intent.setAction("android.media.action.IMAGE_CAPTURE"); 
      startActivityForResult(intent, PICK_FROM_CAMERA); 
       } 
     @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
     super.onActivityResult(requestCode, resultCode, data); 

     switch(requestCode) 
     { 
      case PICK_FROM_CAMERA : if (resultCode == RESULT_OK) 
      { 
       ContentValues values = new ContentValues(); 
       values.put(Images.Media.TITLE, "title"); 
       values.put(Images.Media.BUCKET_ID, "test"); 
       values.put(Images.Media.DESCRIPTION, "test Image taken"); 
       values.put(Images.Media.MIME_TYPE, "image/jpeg"); 
       Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values); 
       Bitmap photo = (Bitmap) data.getExtras().get("data"); 
       ((ImageView)findViewById(R.id.selectedimage)).setImageBitmap(photo); 
       OutputStream outstream; 
       try { 
         outstream = getContentResolver().openOutputStream(uri); 
         photo.compress(Bitmap.CompressFormat.JPEG,100, outstream); 
         outstream.close(); 
       } catch (FileNotFoundException e) {} 
       catch (IOException e){} 
      } 
      break; 

EDITAR: es perfecto y funciona. Simplemente pruébalo y dame tu opinión si te gusta.

2

Selecciona esta respuesta:

public class ImageUploading extends Activity 
{ 
    Uri imageUri = null; 
    ImageButton btnSubmit ; 
    public void onCreate(Bundle onsavedInstantState) 
    { 
     super.onCreate(onsavedInstantState); 
     setContentView(R.layout.edit_profile); 
     btnSubmit    = (ImageButton) findViewById(R.id.btnSubmit);  
     btnSubmit.setClickable(true);  
     btnSubmit.setOnClickListener(new View.OnClickListener() 
     {   
      @Override 
      public void onClick(View v) {   
       Intent cameraIntent = new Intent("android.media.action.IMAGE_CAPTURE"); 
       File imgFile = new File(Environment.getExternalStorageDirectory(),"my_photo.png"); 
       imageUri = Uri.fromFile(imgFile); 
       cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);    
       startActivityForResult(cameraIntent,0);    
      } 
     }); 
    } 
    @Override 
    public void onActivityResult(int RequestCode, int ResultCode, Intent imageIntent) 
    { 
     super.onActivityResult(RequestCode, ResultCode, imageIntent); 
     try 
     { 
      if(RequestCode == 0) 
      { 
       if(ResultCode == Activity.RESULT_OK) 
       { 
        getContentResolver().notifyChange(imageUri, null); 
        ContentResolver objContentResolver = getContentResolver(); 
        Bitmap imgBitmap = android.provider.MediaStore.Images.Media.getBitmap(objContentResolver, imageUri); 
        Drawable imgDrawable = new BitmapDrawable(imgBitmap); 
        btnSubmit.setBackgroundDrawable(imgDrawable); 
       } 
      }   
     } 
     catch(Exception e) 
     {} 
    } 
} 

Se capturará la imagen de clic de botón y establezca esta imagen Imagen de fondo para que el botón de sí mismo como.