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

cai*_*ci2 55 android android-intent

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

如何从我的Android应用程序发送电子邮件

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

i.setType("message/rfc822");
Run Code Online (Sandbox Code Playgroud)

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

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

Jam*_*ani 116

这可能是这么晚,但作为一个初学者,这是我对你的上述问题的尝试:)希望这会对你有所帮助,myIntent.setType(String mimeType)输入param代表你想从触发意图(这里是myIntent实例)得到的MIME类型数据.
通过使用以下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
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的名单.我想在mimetype中设置3-4种类型; 即; text,html,pdf,image,doc.我想知道如何在setType()中设置它. (2认同)
  • @Jéwôm'@ AndroidGuy实际上在android中,对于你用空格分隔的mime类型,_not_逗号.使用逗号会让android忽略除了第一个之外的所有东西,所以要使它工作你应该使用``image/png image/jpeg" (2认同)

tak*_*are 6

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

i.setType("message/rfc822"); 
Run Code Online (Sandbox Code Playgroud)

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