Je veux créer un sélecteur d'images à partir de la galerie. J'utilise du code
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, TFRequestCodes.GALLERY);
Mon problème est que dans cette activité et les fichiers vidéo sont affichés. Existe-t-il un moyen de filtrer les fichiers affichés afin qu'aucun fichier vidéo ne soit affiché dans cette activité?
Réponses:
Absolument. Essaye ça:
N'oubliez pas également de créer la constante PICK_IMAGE , afin que vous puissiez reconnaître quand l'utilisateur revient de la galerie d'images. Activité:
C'est ainsi que j'appelle la galerie d'images. Mettez-le et voyez si cela fonctionne pour vous.
ÉDITER:
Cela fait apparaître l'application Documents. Pour permettre à l'utilisateur d'utiliser également toutes les applications de galerie qu'il a pu installer:
la source
@Override
fonctiononActivityResult(int requestCode, resultCode, Intent data)
, où il est recommandé d'utiliser cette constante pour vérifier lerequestCode
paramètre avant de faire n'importe quelle action :)Parfois, vous ne pouvez pas obtenir un fichier de l'image que vous choisissez. C'est parce que celui choisi vient de Google+, Drive, Dropbox ou de tout autre fournisseur.
La meilleure solution consiste à demander au système de choisir un contenu via Intent.ACTION_GET_CONTENT et d'obtenir le résultat avec un fournisseur de contenu.
Vous pouvez suivre le code ci-dessous ou consulter mon résumé mis à jour .
la source
if(resultCode == Activity.RESULT_OK) {...}
peut être utilisé pour détecter le succès / l'annulationnew File(data.getData()).getAbsolutePath()
Juste une supposition, je ne l'ai pas essayégetActivity().getContentResolver().openInputStream(data.getData());
.la source
path
? dansFile file = new File(path);
Vous pouvez utiliser cette méthode pour choisir l'image de la galerie. Seules les images seront affichées.
et remplacer onActivityResult as
la source
Voici un exemple complet de demande de permission (si besoin), choisissez l'image dans la galerie, puis convertissez l'image en
bitmap
oufile
AndroidManifesh.xml
Activité
Démo
https://github.com/PhanVanLinh/AndroidPickImage
la source
Si vous recherchez uniquement des images et une sélection multiple.
Regardez @ une fois https://stackoverflow.com/a/15029515/1136023
C'est utile pour l'avenir. Personnellement, je me sens bien en utilisant MultipleImagePick .
la source
Juste pour offrir une mise à jour de la réponse pour les personnes avec API min 19, selon la documentation:
Ouvrir des fichiers à l'aide de l'infrastructure d'accès au stockage - Android Docs
la source
Pour seulement choisir parmi les locaux, ajoutez ceci:
Et ce travail agréable:
la source
Vous pouvez le faire plus facilement que cette réponse:
la source