4

我正在尝试创建一个意图,该意图将为我启动 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。它正在某些设备上运行,这是我发现的

正常工作:

  • 史诗 4g (银河 S)
  • Epic 4g 触控 (Galaxy S II)
  • Galaxy Nexus(ICS 4.0.4)
  • HTC 欲望 (Froyo 2.2)
  • 摩托罗拉光子

附图片但无文字:

  • 搭档 4g
  • 三星变形超

任何人都知道我是否基本上对无法以这种方式正常工作的设备感到满意?

4

1 回答 1

8

以下代码适用于我:

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"));
于 2012-05-08T00:52:49.493 回答