如何在android 2.2中发送消息?

时间:2012-05-16 11:31:01

标签: android android-intent

我想用android 2.2发送消息(sms / mms)。首先,我使用ACTION_SEND制作了一个意图选择器来选择使用哪个:

Intent intent = new Intent(Intent.ACTION_SEND);

intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, Resources.getString("InvitationSubject", getBaseContext()));
String body = Resources.getString("InvitationBody", getBaseContext()) + Local.User.FirstName;
intent.putExtra(Intent.EXTRA_TEXT, body);

startActivity(Intent.createChooser(intent, "Invite friends"));

但在这种情况下,选择器会显示“蓝牙,信息,Google+,Gmail”。我想只显示消息传递或其他消息传递应用程序。

我在sdk文档中看到有一个新的CATEGORY_APP_MESSAGING可供使用,但它仅在API级别15中可用。我必须保持API级别8.有没有办法做到这一点?

3 个答案:

答案 0 :(得分:2)

试试此代码

String body = Resources.getString("InvitationBody", getBaseContext()) + Local.User.FirstName;
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", smsBody); 
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);

不要忘记在清单中添加此<uses-permission android:name="android.permission.SEND_SMS" />

答案 1 :(得分:0)

您可以使用类型mms-sms,如此

intent.setType("vnd.android-dir/mms-sms");

答案 2 :(得分:0)

使用以下代码发送消息

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "message subject");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "text");
startActivity(Intent.createChooser(shareIntent, "Pick a Share method"));

授予以下许可

<uses-permission android:name="android.permission.SEND_SMS" />