Android:通过意图与身体发送短信并返回。

时间:2013-12-26 13:53:43

标签: android android-intent

我试图通过意图发送短信,我想在短信中添加一个正文。用户按下send后,我想返回应用。我添加了额外的sms_bodyexit_on_sent。但是当我使用它们时,短信出现时没有身体。如果我不使用exit_on_sent额外的一切正常。

    Intent sendIntent = new Intent(Intent.ACTION_VIEW);         
    sendIntent.setData(Uri.parse("smsto:" + phoneNumber));
    sendIntent.putExtra("sms_body", "some text");
    sendIntent.putExtra("exit_on_sent", true);
    context.startActivity(sendIntent);

1 个答案:

答案 0 :(得分:1)

您可以尝试使用

startActivityForResult(sendIntent, SOME_REQUEST_CODE) 

但根据我的经验,它在大多数情况下都不起作用。 我建议改为使用SmsManager。

SmsManager smsMgr = SmsManager.getDefault();
if(smsMgr != null){
  PendingIntent sentIntent = PendingIntent.getBroadcast(
      getActivity().getApplicationContext(), 0,
      new Intent(MY_ACTION_INTENT_SENT), 0);
  smsMgr.sendTextMessage(phone, null, message, sentIntent, null);
}

根据您的应用程序,您可以在发送MY_ACTION_INTENT(指示实际已发送消息)时或在sendTextMessage(...)返回后立即执行剩余的处理。

从API级别19开始,您可能会发现一些有用的功能http://developer.android.com/reference/android/provider/Telephony.html

希望它有所帮助。