intent.setType(type)可能的intent类型是什么?

时间:2012-10-25 09:44:19

标签: android android-intent

我正在搜索如何从我的应用发送电子邮件,我遇到了这个主题:

how to send email from my android app

它解决了在动作发送中添加类型的问题:

i.setType("message/rfc822");

这对我也有用,我可以发送我的电子邮件,这很棒。我只是想知道我还能在那里设置什么。

我知道如果我没有设置任何内容,它将显示包含所有可用选项的列表。我想强制用户使用我选择的任何选项来共享它。我可以探索这个以迫使用户以我想要的方式分享吗?

4 个答案:

答案 0 :(得分:106)

这可能是这么晚但作为一个初学者,这是我对你的上述问题的尝试:)希望这会对你有帮助,myIntent.setType(String mimeType)输入参数代表你想要从触发得到的MIME类型数据intent(这里是 myIntent 实例)。
通过使用以下MIME类型之一,您可以强制用户选择您想要的选项。
请注意这里,android中的所有MIME类型都是小写的。

以下是您可以在setType()中设置的常见MIME类型列表:

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

答案 1 :(得分:6)

我认为在广播分享意图时,你不应该强迫任何形式的行为。

i.setType("message/rfc822"); 

这将设置您的意图的MIME类型。我想,充其量,您必须知道您打算使用哪种MIME类型来分享您的内容(例如Facebook)答案,并确保该应用程序是唯一能够回答您意图的应用程序。 / p>

答案 2 :(得分:4)

根据Android API文档,setType的参数是表示MIME类型的字符串。请查看http://developer.android.com/reference/android/content/Intent.html#setType(java.lang.String)

然后涉及任何MIME类型都可用于设置共享意图内容类型。 您可以在iana.org网站上找到完整的列表,其中列出了完整的MIME类型列表:http://www.iana.org/assignments/media-types/media-types.xhtml

我希望这会有所帮助。

答案 3 :(得分:2)

您可能需要查看此链接:http://developer.android.com/reference/android/content/Intent.html#setType(java.lang.String)

它的基本功能是,它允许您设置用于在意图中发送的数据类型。

您可能还想查看现有问题:Android - Intent.setType() arguments