使用Android意图的非媒体附件的彩信

时间:2011-09-20 15:45:19

标签: android android-intent mms icalendar

我想将.ics文件(icalendar文件)附加到MMS消息,但是android消息传递应用程序似乎仅限于媒体附件。 MMS应用程序打开时按顺序排列(To和body字段),但没有附件的痕迹,就好像它已被完全忽略一样。

我使用的是android意图,代码如下:

String uri = "file:///mnt/sdcard/meeting.ics";
Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.putExtra("address", toMMS);
sendIntent.setType("text/calendar");
sendIntent.setClassName("com.android.mms", "com.android.mms.ui.ComposeMessageActivity");
sendIntent.putExtra("sms_body", "You've been invited to a new meeting"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri));
this.startActivity(sendIntent);

我也试过没有成功,查找MIME类型:

sendIntent.setType("text/*"); 

sendIntent.setType("text/plain");

我用普通的txt文件测试了所有上述情况,但仍然没有附件。标准的MMS android应用程序似乎不接受非媒体文件附件。

我还试图完全删除setType行,但是当启动时消息应用程序崩溃。

那么,是否有人知道如何将非媒体文件附加到彩信?或者如果不可能?

我的手机是:谷歌Nexus S. Android版本2.3.4

提前致谢。

PD:这里提出了同样的问题,但没有回答:Sending an MMS with a vCard attachment on Android devices

1 个答案:

答案 0 :(得分:0)

Messaging应用程序仅具有支持特定类型文件附件的代码,它生成的本质上是SMIL文档(即使“附件”是单个图像)。如果您想发送带有其他附件类型的彩信,您需要更深入地了解这一点。

您可以通过查看ComposeMessageActivity来了解我的意思,尤其是mAttachmentEditorHandler的定义。