What are the possible intent types for intent.setT

2019-01-30 06:11发布

问题:

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?

回答1:

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.



回答2:

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


回答3:

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.



回答4:

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: Android - Intent.setType() arguments