启动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);
根据我的知识,文本消息的正文不是预先填充的,同时它对所有其他设备和操作系统都是正确的。
答案 0 :(得分:1)
将ACTION_SENDTO
与smsto:
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类型似乎不幸是非标准化的。