What are the possible intent types for intent.setType(type)?

This might be so late but as a beginner this is my attempt to your above question :) hope this will help you,myIntent.setType(String mimeType) input param is represent the MIME type data that u want to get in return from firing intent(here myIntent instance).
by using one of following MIME type you can force user to pick option which you desire.
Please take a Note here, All MIME types in android are in lowercase.

Here is the list of common MIME type that you can set in 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

I think you aren't supposed to force any kind of behavior when broadcasting a share intent.

i.setType("message/rfc822"); 

This sets the MIME type of your intent. I guess, at best, you would have to know which MIME type the app which you intend to use in order to share your content (ex. Facebook) answers, and assure that that app is the only app that will answer your intent.


According to the Android APIs documentation, the parameter for setType is a string that represent a MIME type. Please take a look at http://developer.android.com/reference/android/content/Intent.html#setType(java.lang.String)

Then it involves that any MIME type can be used to set the share intent content type. You can found a complete list in the iana.org site, where are listed a complete list of MIME types : http://www.iana.org/assignments/media-types/media-types.xhtml

I hope this helps.