Existe-t-il un moyen standard d'appeler la boîte de dialogue avec le choix de choisir une image de la caméra ou d'obtenir de la galerie (comme dans l'annuaire intégré ou Skype)?
J'ai jeté un coup d'œil à cela, mais le code ouvre la galerie sans suggérer de le choisir depuis la caméra.
Appareil: Samsung Galaxy Tab
Android: 2.3.3
Réponses:
Le code ci-dessous peut être utilisé pour prendre une photo et pour choisir une photo. Affichez simplement une boîte de dialogue avec deux options et, lors de la sélection, utilisez le code approprié.
Pour prendre une photo depuis l'appareil photo:
Pour choisir une photo dans la galerie:
onActivityResult
code:Enfin, ajoutez cette autorisation dans le fichier manifeste:
la source
Intent
comme solution de secours lève SecurityException. Plus d'informations: plus.google.com/+AndroidDevelopers/posts/e9kyM7VXajzJ'ai fusionné certaines solutions pour créer un utilitaire complet pour choisir une image dans la galerie ou l'appareil photo. Voici les fonctionnalités de ImagePicker util gist (également dans une librairie Github ):
Capture d'écran:
Modifier : voici un fragment de code pour obtenir une intention fusionnée pour les applications Galerie et Appareil photo. Vous pouvez voir le code complet sur ImagePicker util gist (également dans une bibliothèque Github ):
la source
boolean isCamera = (imageReturnedIntent == null || imageReturnedIntent.getData() == null);
getTempFile
et comment utiliser cette fonction? s'il vous plaît mettre à jour la réponseFileProvider
pour API> = 23 etUri
moins cher.Cette bibliothèque simplifie les choses.
Il suffit d'appeler:
Ensuite, faites en sorte que votre activité implémente IPickResult et remplacez cette méthode ci-dessous.
la source
Vous pouvez implémenter ce code pour sélectionner l'image de la galerie ou de la caméra: -
Maintenant, sur l'événement de clic de bouton, vous pouvez appeler votre méthode de sélection d'image. C'est à l'intérieur de l'activité onCreate.
En dehors de la création de votre activité.
Enfin, ajoutez enfin la caméra et écrivez l'autorisation de stockage externe sur AndroidManifest.xml
Cela fonctionne grandement pour moi, j'espère que cela fonctionnera également pour vous.
la source
Je pense que c'est à vous de montrer ce dialogue pour choisir. Pour la galerie, vous utiliserez ce code, et pour l'appareil photo, essayez ceci .
la source
Si vous souhaitez obtenir l'image de la galerie ou capturer l'image et la définir sur la vue image en mode portrait, le code suivant vous aidera.
Dans onCreate ()
J'espère que ceci vous aidera....!!!
Si targetSdkVersion est supérieur à 24, FileProvider est utilisé pour accorder l'accès.
Créez un fichier xml (chemin: res \ xml) chemin_fournisseurs.xml
Ajouter un fournisseur dans AndroidManifest.xml
et remplacer
À
la source