2010-02-22 13 views
35

Se si desidera utilizzare l'attività della videocamera incorporata che utilizza la videocamera Android nativa, procedere come segue.Utilizzo dell'attività della videocamera in Android

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

Si desidera ottenere le immagini indietro dalla fotocamera nifty visualizzata - ma come?

+1

Bene, la mia domanda è: cosa è PICTURE_RESULT? –

+2

PICTURE_RESULT è una costante definita dall'utente. Il valore che si passa a startActivityResult() come requestCode sarà lo stesso valore passato a onActivityResult() quando l'intento viene eseguito in modo da sapere quale intento sta restituendo il risultato. – jcmcbeth

risposta

23

Se si desidera ottenere l'immagine di nuovo nella sua piena gloria, passare in un uri all'Intento entro l'extra EXTRA_OUTPUT. Se stai bene con una piccola bitmap (e dovresti esserlo), chiama l'intento normalmente.

Ora avete due opzioni, affrontare l'URI dell'immagine che viene restituito nella EXTRA_OUTPUT supplementare, o effettuare le seguenti operazioni nel metodo 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 ci si va!

+2

grazie di cuore questo mi ha aiutato molto. Così tanti altri tutorial hanno spiegato come implementare la funzionalità della fotocamera da zero anziché semplicemente sollevare un 'ActivityForResult' e avere l'attività predefinita della videocamera per gestire le cose! – wired00

Problemi correlati