Android MMS意图与图像和正文文本

4
我正在尝试创建一个Intent,可以启动MMS应用程序并附带图像文件,并在消息正文中添加一些预定义文本。到目前为止,我已经能够完成其中一项,但不能同时完成两项。
我尝试过以下内容(以及它们的结果):
sendIntent = new Intent(android.content.Intent.ACTION_SEND,Uri.parse("mms://"));
sendIntent.setType("image/gif");
sendIntent.putExtra(Intent.EXTRA_STREAM, imgStreamUri);
sendIntent.putExtra("sms_body", "HelloWorld");
startActivity(Intent.createChooser(sendIntent,"Send"));    
/**********
Image file is attached but no text added to message body.
 **********/

sendIntent = new Intent(android.content.Intent.ACTION_SEND);
sendIntent.setType("image/gif");
sendIntent.putExtra(Intent.EXTRA_STREAM, imgStreamUri);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "HelloWorld");
sendIntent.putExtra(Intent.EXTRA_TITLE, "WorldHello");
startActivity(Intent.createChooser(sendIntent,"Send"));
/**********
Image file is attached but no text added to message body(or subject or anything).
 **********/

有人知道如何将正文和图像文件附加到mms意图中,以启动默认的消息应用程序并填写适当的项目吗?
编辑:在@lenik提供的答案中测试了代码。它在某些设备上有效,以下是我发现的情况:
正常工作:
- Epic 4g (Galaxy S) - Epic 4g Touch (Galaxy S II) - Galaxy Nexus(ICS 4.0.4) - HTC Desire (Froyo 2.2) - Motorola Photon
已附加图像但没有正文:
- Sidekick 4g - Samsung Transform Ultra
有人知道对于这种方式无法正常工作的设备是否基本上无解吗?
1个回答

8
以下代码适用于我:
```html

以下代码适用于我:

```
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra("sms_body", "Hi how are you");
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("/sdcard/file.gif")));
intent.setType("image/gif"); 
startActivity(Intent.createChooser(intent,"Send"));

我没有得到任何添加的文本。你在什么设备上运行? - FoamyGuy
请尽量直接使用我的源代码,如果遇到问题,很可能与你的imgStreamUri参数有关,如果它的内容不正确,则文本或文件将无法在MMS消息中正确显示。 - lenik
我刚刚才能够在更多的设备上进行测试。请查看我的编辑以获取结果。 - FoamyGuy
@lenik 如何通过编程方式将音频文件附加到 MMS 中。 - Harshid
@Harshid 我认为也是这样,只需提供正确的文件名并相应更改 MIME 类型(intent.setType())。 - lenik
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接