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

AndroidAndroid Intent

Android Problem Overview


I was searching about how to send an email from my app and I came across this topic:

how to send email from my android app

it solves the problem adding a type to his action send:

i.setType("message/rfc822");

That works for me too, I can send my email and it's great. I was just wondering what else I can set there.

I know that if i don't set anything it will show the list with all the options available. I want to force the user to share it using whatever option I pick. Can i explore this to force the user to share in whatever way I desire?

Android Solutions


Solution 1 - Android

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

Solution 2 - Android

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.

Solution 3 - Android

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.

Solution 4 - Android

You might want want check this link: http://developer.android.com/reference/android/content/Intent.html#setType(java.lang.String)

Basically what it does is, it lets you set the type of data that you are using to send in an intent.

You might also want to check out an existing question: https://stackoverflow.com/questions/10614891/android-intent-settype-arguments

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questioncaiocpricci2View Question on Stackoverflow
Solution 1 - AndroidJameer MulaniView Answer on Stackoverflow
Solution 2 - AndroidtakecareView Answer on Stackoverflow
Solution 3 - AndroidFabricioView Answer on Stackoverflow
Solution 4 - AndroidAnkushView Answer on Stackoverflow