将彩信发送到不同的Android设备

时间:2010-01-29 22:08:51

标签: android messaging mms

我需要发送彩信。进入我的英雄,这段代码看起来很难看,但有效:

Intent sendIntent = new Intent("android.intent.action.SEND_MSG"); 
   sendIntent.putExtra("address", toText); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");

sendIntent.putExtra("sms_body", textMessage); 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(url));
sendIntent.setType("image/jpeg"); 
startActivity(sendIntent);

但在我看来,在其他设备上它根本不起作用。 我想直接发送到主消息应用程序而没有任何选择(当然更好的解决方案 - 直接从我的应用程序)。因为不确定所有人都能正确处理它。 如果有人可以推荐任何第三方库,我会很乐意。

3 个答案:

答案 0 :(得分:0)

您是否尝试过这样的事情(根据您的需要改变并添加图片......):

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mmsto:<number>");
intent.putExtra("address", <number>);
intent.putExtra("subject", <subject>);
startActivity(intent);

以上是我能想到的最好的,适用于HTC / Nexus / SE从1.6到2.2。

答案 1 :(得分:0)

从您的应用发送?

在startActivity之前,你可以

intent.setClassName(“您的包名”,“您的班级名称”);

startActivity(意向);

答案 2 :(得分:0)

您可以尝试类似的方法。这将启动所有可以处理意图的应用程序。

intent.setAction(Intent.ACTION_SEND);
//In case of multiple file
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, <List of uris>);
intent.putExtra(Intent.EXTRA_STREAM, <singleUri>);
intent.setType("*/*");
startActivity(intent);