我意识到此问题已经在here和here之前得到了表达,但在答复中从未得到解决(说实话,这并不是问题的主要焦点)。 / p>
在Android中使用短信意图后,我不会问如何返回。我问如何启用exit_on_sent
而没有擦除sms_body
的副作用。
这是我的代码:
Intent msg = new Intent(Intent.ACTION_VIEW);
msg.setData(Uri.parse("smsto:01234567899"));
msg.putExtra("sms_body", "\n\nSent from my very own App!");
//msg.putExtra("exit_on_sent", true);
startActivity(msg);
它目前适用于我提供给msg.putExtra()
的邮件正文,但之后不会返回,因为以下行被注释掉了。
但是,当我取消注释将exit_on_sent
设置为true
的行时,虽然返回功能现在可以正常工作,但消息正文在打开时不再出现在SMS应用程序中,也不会出现在消息中发送后查看。
感谢您的时间。
答案 0 :(得分:1)
要让exit_on_sent
与sms_body
一起使用,您需要使用getDefaultSmsPackage
,如下所示:
Intent intent;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "sms body");
intent.putExtra("exit_on_sent", true);
String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(ctx);
if (defaultSmsPackageName != null)
intent.setPackage(defaultSmsPackageName);
} else {
intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setType("vnd.android-dir/mms-sms");
intent.putExtra("sms_body", "sms body");
}
act.startActivity(intent);