1

我想用 android 2.2 发送消息(短信/彩信)。首先我做了一个带有 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。有没有办法做到这一点?

4

3 回答 3

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" />到您的清单中。

于 2012-05-16T11:38:34.337 回答
0

你可以使用 mms-sms 类型,像这样

intent.setType("vnd.android-dir/mms-sms");
于 2012-05-16T11:34:18.120 回答
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" />
于 2012-05-16T11:43:22.897 回答