35 votes

Utilisation de l'activité de la caméra sous Android

Si vous souhaitez utiliser l'activité de la caméra intégrée qui utilise la caméra Android native, procédez comme suit.

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

Vous voulez récupérer les images de l'appareil photo astucieux que vous avez affiché - mais comment?

23voto

slrobert Points 409

Si vous souhaitez que l'image retrouve toute sa splendeur, transmettez un uri à l'intention dans EXTRA_OUTPUT extra. Si vous êtes d'accord avec une petite image bitmap (et vous devriez l'être), appelez simplement l'intention comme d'habitude.

Vous avez maintenant deux options: gérer l'URI de l'image renvoyée dans EXTRA_OUTPUT extra ou procéder comme suit dans votre méthode 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) {...}
    }
 

Et voilà!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X