En gros, ce que j'essaie de faire, c'est d'ouvrir la Galerie
sur Android et de permettre à l'utilisateur de sélectionner plusieurs images
. Cette question a été posée fréquemment, mais je ne suis pas satisfait des réponses. Principalement parce que j'ai trouvé quelque chose d'intéressant dans la documentation de mon IDE (je reviendrai là-dessus plus tard) et donc je ne veux pas utiliser un adaptateur personnalisé mais juste celui par défaut.
Maintenant, mon code pour sélectionner une seule image est le suivant :
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Sélectionnez une image"), 1);
Maintenant, les gens sur SO et d'autres sites vous diront que vous avez 2 options :
1) Ne pas utiliser ACTION_GET_CONTENT
mais plutôt ACTION_SEND_MULTIPLE
à la place.
Cela ne fonctionne pas. Cela est selon la documentation pour envoyer
des fichiers et non récupérer
et c'est exactement ce qu'il fait. Lorsque j'utilise ACTION_SEND_MULTIPLE, une fenêtre s'ouvre sur mon appareil où je dois sélectionner une application pour envoyer mes données. Ce n'est pas ce que je veux, donc je me demande comment les gens ont réussi à le faire avec cette solution... Est-ce que je manque quelque chose ?
2) Implémenter une Galerie personnalisée
. C'est ma dernière option que je considérerai car à mon avis, ce n'est pas ce que je recherche car je dois styliser moi-même ET pourquoi diable vous ne pouvez pas simplement sélectionner plusieurs images dans la galerie par défaut ?
Il doit y avoir une option pour cela... Maintenant, la chose intéressante que j'ai trouvée est la suivante :
_J'ai trouvé cela dans la description de ACTION_GET_CONTENT
._
Si l'appelant peut gérer plusieurs éléments retournés (l'utilisateur effectue une sélection multiple), il peut spécifier EXTRA_ALLOW_MULTIPLE pour l'indiquer.
C'est assez intéressant. Ils y font référence au cas d'utilisation où un utilisateur peut sélectionner plusieurs éléments, non ?
Plus tard, ils disent dans la documentation :
Vous pouvez utiliser EXTRA_ALLOW_MULTIPLE pour permettre à l'utilisateur de sélectionner plusieurs éléments.
Donc c'est assez évident, n'est-ce pas ? C'est ce dont j'ai besoin. Mais ma question suivante est : Où puis-je mettre ce EXTRA_ALLOW_MULTIPLE
? La triste chose est que je ne le trouve nulle part dans le guide des développeurs Android et ce n'est pas non plus défini comme une constante dans la classe INTENT.
Est-ce que quelqu'un peut m'aider avec ce EXTRA_ALLOW_MULTIPLE
?