145 votes

Boîte de dialogue pour choisir une image de la galerie ou de la caméra

Existe-t-il une manière standard d’appeler une boîte de dialogue avec choisir de choisir une image de l’appareil photo ou d’obtenir une image de la galerie (comme dans un répertoire intégré ou sur Skype)?

J'ai jeté un coup d'oeil à ceci mais le code ouvre la galerie sans suggérer de le choisir à partir de la caméra.

Appareil: Samsung Galaxy Tab
Android: 2.3.3

217voto

Agarwal Shankar Points 14558

le code ci-dessous peut être utilisé pour prendre et prendre des photos et pour sélectionner une photo ou une photo, affichez simplement une boîte de dialogue avec deux options et utilisez le code approprié lors de la sélection ...

prendre une photo de la caméra.

 Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePicture, 0);//zero can be replaced with any action code
 

choisir une photo de la galerie

 Intent pickPhoto = new Intent(Intent.ACTION_PICK,
           android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickPhoto , 1);//one can be replaced with any action code
 

code de résultat d'activité:

 protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 
switch(requestCode) {
case 0:
    if(resultCode == RESULT_OK){  
        Uri selectedImage = imageReturnedIntent.getData();
        imageview.setImageURI(selectedImage);
    }

break; 
case 1:
    if(resultCode == RESULT_OK){  
        Uri selectedImage = imageReturnedIntent.getData();
        imageview.setImageURI(selectedImage);
    }
break;
}
}
 

enfin ajouter cette permission dans le fichier manifeste

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 

7voto

Mighter Points 4865

Je pense que c'est à vous de montrer ce dialogue pour choisir. Pour Gallery, vous utiliserez ce code, et pour Camera essayez ceci .

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