Usando a atividade câmera no Android

votos
35

Se você quiser usar o built-in atividade câmera que usa a câmera Android nativo, simplesmente faça o seguinte.

Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);   
        this.startActivityForResult(camera, PICTURE_RESULT);

Você deseja obter as imagens de volta a partir da câmara bacana você exibida - mas como?

Publicado 23/02/2010 em 00:02
fonte usuário
Em outras línguas...                            


1 respostas

votos
23

Se você deseja obter a imagem de volta em toda sua glória, passar em um uri à Intenção dentro do EXTRA_OUTPUT extra. Se você está bem com um bitmap pequeno (e você deveria ser), basta ligar a intenção como normal.

Agora você tem duas opções, lidar com o URI da imagem que é devolvido na EXTRA_OUTPUT extra, ou faça o seguinte em seu método onActivityResult:

if (requestCode == PICTURE_RESULT) //
             if (resultCode == Activity.RESULT_OK) {
                // Display image received on the view
                 Bundle b = data.getExtras(); // Kept as a Bundle to check for other things in my actual code
                 Bitmap pic = (Bitmap) b.get("data");

                 if (pic != null) { // Display your image in an ImageView in your layout (if you want to test it)
                     pictureHolder = (ImageView) this.findViewById(R.id.IMAGE);
                     pictureHolder.setImageBitmap(pic);
                     pictureHolder.invalidate();
                 }
             }
             else if (resultCode == Activity.RESULT_CANCELED) {...}
    }

E lá vai você!

Respondeu 18/04/2011 em 07:45
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more