启动SMS消息意图不再适用于新的Droid RAZR ICS操作系统

时间:2012-07-06 17:15:15

标签: android sms android-4.0-ice-cream-sandwich

启动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);

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

2 个答案:

答案 0 :(得分:1)

ACTION_SENDTOsmsto: Uri一起用于您要将邮件发送到的电话号码。

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

答案 1 :(得分: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类型似乎不幸是非标准化的。