Existe-t-il un moyen d'utiliser intent.setType()
et de fournir plusieurs types larges (comme les images et vidéo)? J'ai utilisé un ACTION_GET_CONTENT
. Il semble fonctionner avec des types séparés par des virgules.Plusieurs types MIME dans Android
Répondre
Désolé, cela n'est actuellement pas supporté. Vous avez deux options:
(1) Utilisez un type MIME de */*
et acceptez qu'il y ait des choses que l'utilisateur peut choisir que vous ne pourrez pas gérer (et que vous ayez un chemin de récupération décent pour cela); ou
(2) Implémentez votre propre sélecteur d'activités, en effectuant des appels directs sur le gestionnaire de paquets pour obtenir les activités qui peuvent gérer les deux types MIME pour l'intention, fusionner ces listes et les afficher à l'utilisateur.
De plus, setType()
ne fonctionne pas du tout avec des types séparés par des virgules. Ce doit être un et un seul type MIME.
En fait, plusieurs types MIME sont supportés. Avez-vous déjà essayé? Par exemple: image/*, video/* affichera des photos et des vidéos ... – vchelbanster
En fait, plusieurs types MIME sont pris en charge. Avez-vous déjà essayé?
Par exemple: intent.setType("image/*,video/*")
affichera des photos et des vidéos ...
Pour moi, cela fonctionne. Cela devrait fonctionner pour vous aussi ...
Cette solution fonctionne ... mais seulement avec des applications qui permettent deux types MIME. Le défaut "Galerie" ne le fait pas. – Corbella
En fait, cela dépend de l'application "Galerie" que vous avez installée. Il existe différentes versions d'entre eux étant distribués avec différentes ROM Android. – vchelbanster
Fonctionne pour moi dans les cas mineurs seulement. Les mêmes images peuvent être sélectionnables ou non. Android 5.0.1 – Ingweland
pour mon travail avec les points-virgules.
Exemple:
intent.setType("image/*;video/*")
ou
sIntent.putExtra("CONTENT_TYPE", "image/*;video/*");
Dans Android 4.4 lorsque vous utilisez le Storage Access Framework vous pouvez utiliser le EXTRA_MIME_TYPES
pour passer plusieurs types MIME.
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
String[] mimetypes = {"image/*", "video/*"};
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
startActivityForResult(intent, REQUEST_CODE_OPEN);
Celui-ci est parfait. –
Cela ne fonctionne pas avec Android 7.0. Affiche uniquement les vidéos. – clocksmith
@clocksmith Il semble fonctionner correctement sur mon Nexus 9 avec Android 7.0. –
vous pouvez transmettre plusieurs types mime si vous vous séparez avec |
Intent.setType("application/*|text/*");
Pour moi, ce qui fonctionne le mieux était:
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
Vous pouvez ajouter plusieurs types MIME comme celui-ci
intent.setType("image/*|application/pdf|audio/*");
Mais CHOOSER intention ne fera que des applications d'affichage qui peut gérer les images car c'est le premier dans la chaîne de type mime.
Toutefois, si vous avez un gestionnaire de fichiers installé (j'ai testé avec le gestionnaire de fichiers CyanogenMod), vous pouvez choisir un fichier qui est audio ou pdf ou une image.
Si le type MIME audio est le premier, comme celui-ci:
intent.setType("audio/*|image/*|application/pdf");
L'intention chooser affiche uniquement les applications qui gèrent audio.
Encore une fois en utilisant le gestionnaire de fichiers, vous pouvez sélectionner une image ou pdf ou audio.
- 1. Nommage des types MIME Android
- 2. Apple iWork Mime Types
- 3. WPF & Mime types
- 4. Types MIME et url_for dans Rails
- 5. Types Mime dans les fenêtres de Registre
- 6. Types MIME et sélecteur d'intention ACTION_SEND
- 7. Comment classer les types MIME (PHP)
- 8. Obtenir MIME-Types sur FTP en PHP
- 9. Google App Engine Python, virtualenv et les types mime
- 10. Outil de création MIME en plusieurs parties
- 11. Enregistrer des extensions de fichiers/types mime sous Linux
- 12. Hibernate collection plusieurs types
- 13. Modèle C++ - Plusieurs types
- 14. Bibliothèque Java ou fichier texte qui mappe les types mime aux gentils types de fichiers conviviaux
- 15. types pour plusieurs membres
- 16. Tableau avec plusieurs types?
- 17. Plusieurs types d'autorisations dans .NET MVC 2.0
- 18. Plusieurs types UIView dans un seul UIViewController
- 19. Comment implémenter plusieurs types d'objets dans OOP?
- 20. Plusieurs types de fichiers dans vim
- 21. Définition de plusieurs mappages de type mime et d'extension de fichier (pathPattern) dans AndroidManifest.xml?
- 22. Type MIME dans jsp
- 23. Implémentation de plusieurs types UITableViewCell
- 24. Implémentation de plusieurs types UITableViewCell
- 25. Comment gérer plusieurs types d'utilisateurs?
- 26. Méthode unique pour plusieurs types?
- 27. Silverlight mime-type (s)
- 28. Plusieurs types de descendants LINQ
- 29. Comment contraindre plusieurs types génériques?
- 30. Android: OpenGL dans plusieurs threads
Pourriez-vous être plus précis? setType() sur ... quoi? Pour quel usage et quel but? Etc. – CommonsWare
Avez-vous déjà trouvé un moyen de le faire? –