6

启动 SMS 消息意图(撰写预填充文本)不再适用于新的 Droid RAZR ICS 操作系统。还有其他方法可以完成这项任务吗?

我都试过了:

  Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
    sendIntent.putExtra("sms_body", smsBody); 
    sendIntent.setType("vnd.android-dir/mms-sms"); 
    startActivity(sendIntent);

也试过,

Uri.parse(uri);

据我所知,文本消息的正文没有预先填充,同时它对于所有其他设备和操作系统的行为都是正确的。

4

2 回答 2

1

ACTION_SENDTO与 a 一起用于smsto: Uri您要将消息发送到的电话号码。

您使用的 MIME 类型未记录在案,因此核心 Android 团队或设备制造商可以随意更改。

于 2012-07-06T18:17:10.720 回答
1

我也遇到了这个问题,最终得出结论“sms_body”字符串不再适用于Android 4;而是使用更符合逻辑的 Intent.EXTRA_TEXT 键。

    String text = "Hello world";
    i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse("sms:"));
    // i.setType("vnd.android-dir/mms-sms");
    i.putExtra(Intent.EXTRA_TEXT, text);
    i.putExtra("sms_body", text);
    startActivity(i);

这段代码似乎在 Android 2.x 和 Android 4.0 中都有效,尽管我找不到支持它的文档。我选择使用“sms:”URI 而不是使用 mime 类型,因为不幸的是 mime 类型似乎是非标准化的。

于 2012-09-20T20:00:33.113 回答