web-dev-qa-db-fra.com

Quels sont les types d'intention possibles pour intent.setType (type)?

Je cherchais comment envoyer un email à partir de mon application et je suis tombé sur ce sujet:

comment envoyer un email depuis mon Android app

cela résout le problème en ajoutant un type à son action envoyer:

i.setType("message/rfc822");

Cela fonctionne pour moi aussi, je peux envoyer mon email et c'est génial. Je me demandais simplement quoi d'autre je pouvais mettre là.

Je sais que si je ne mets rien, cela affichera la liste avec toutes les options disponibles. Je veux forcer l'utilisateur à le partager en utilisant l'option que je choisis. Puis-je explorer ceci pour forcer l'utilisateur à partager de la manière que je désire?

54
caiocpricci2

Je pense que vous n'êtes pas censé imposer quoi que ce soit lors de la diffusion d'une intention de partage.

i.setType("message/rfc822"); 

Ceci définit le type MIME de votre intention. Au mieux, je suppose que vous devez connaître le type MIME de l'application que vous souhaitez utiliser pour partager vos réponses au contenu (par exemple, Facebook) et vous assurer que cette application est la seule à répondre à votre intention.

6
takecare

C’est peut-être si tard, mais en tant que débutant, c’est ma tentative de répondre à votre question ci-dessus :) espérons que cela vous aidera, myIntent.setType(String mimeType) paramètre d’entrée représente les données de type MIME que vous voulez obtenir en retour de l’intention de tir. (ici myIntent instance).
En utilisant l’un des types MIME suivants, vous pouvez forcer l’utilisateur à choisir l’option de son choix.
Veuillez prendre note ici, tous les types MIME dans Android sont en minuscules).

Voici la liste des types MIME courants que vous pouvez définir dans setType():

image/jpeg
audio/mpeg4-generic
text/html
audio/mpeg
audio/aac
audio/wav
audio/ogg
audio/midi
audio/x-ms-wma
video/mp4
video/x-msvideo
video/x-ms-wmv
image/png
image/jpeg
image/gif
.xml ->text/xml
.txt -> text/plain
.cfg -> text/plain
.csv -> text/plain
.conf -> text/plain
.rc -> text/plain
.htm -> text/html
.html -> text/html
.pdf -> application/pdf
.apk -> application/vnd.Android.package-archive
112
Jameer Mulani

Selon la documentation de l'API Android, le paramètre pour setType est une chaîne représentant un type MIME. Veuillez consulter http://developer.Android.com/reference/ Android/content/Intent.html # setType (Java.lang.String)

Ensuite, tout type MIME peut être utilisé pour définir le type de contenu d'intention de partage. Vous pouvez trouver une liste complète sur le site iana.org, où figurent une liste complète des types MIME: http://www.iana.org/assignments/media-types/media-types.xhtml =

J'espère que ça aide.

4
Fabricio

Vous voudrez peut-être vérifier ce lien: http://developer.Android.com/reference/Android/content/Intent.html#setType (Java.lang.String)

En gros, cela vous permet de définir le type de données que vous utilisez pour envoyer une intention.

Vous pouvez également consulter une question existante: arguments Android - Intent.setType ()

2
Ankush