@Voir ceci https://stackoverflow.com/a/15029515/185022
J'essaie de sélectionner des images de la galerie, mais je n'ai trouvé que le moyen de sélectionner une seule image.
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, 1);
Existe-t-il un moyen de sélectionner plusieurs images?
Créez une galerie personnalisée comme: Galerie d'images personnalisées Android avec case à cocher dans la grille pour en sélectionner plusieurs
Tout d'abord, vous devez utiliser putExtra avec votre photoPickerIntent
photoPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE);
Ensuite, dans votre résultat d'activité, vous devriez obtenir ClipData de Intent comme ceci
ClipData clipData = data.getClipData();
//Where data is param intent of onActivityForResult
Et itérez ce clipData pour obtenir l'URI d'une image sélectionnée spécifique.
for (int i = 0; i < clipData.getItemCount(); i++){
Uri uri = clipData.getItemAt(i).getUri();
}
J'espère que ça aide
Je pense que vous devriez implémenter une galerie personnalisée pour plusieurs actions de sélection d'images.
voir ici en détails.
Pourquoi n'essayez-vous pas ACTION_SEND_MULTIPLE? Vous recevrez un ensemble d'Uris.
Quelque chose comme
if (Intent.ACTION_SEND_MULTIPLE.equals(action))
&& Intent.hasExtra(Intent.EXTRA_STREAM)) {
ArrayList<Parcelable> list =
intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
for (Parcelable parcel : list) {
Uri uri = (Uri) parcel;
/// do things here.
}
}
J'ai vu ce bloc de code sur un message de Google Groupes. Essayez-le. Merci.