Android 安卓:通过身体发送短信并返回。

Android 安卓:通过身体发送短信并返回。,android,android-intent,Android,Android Intent,我试图通过一个意向发送短信,我想在短信中添加一个正文。用户按send后,我想返回应用程序。我添加了额外的内容,如sms\u body和exit\u on\u sent。但当我使用它们时,两条短信都会在没有身体的情况下出现。如果我不使用发送的exit\uextra,一切正常 Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.setData(Uri.parse("smsto:" + phon

我试图通过一个意向发送短信,我想在短信中添加一个正文。用户按
send
后,我想返回应用程序。我添加了额外的内容,如
sms\u body
exit\u on\u sent
。但当我使用它们时,两条短信都会在没有身体的情况下出现。如果我不使用发送的
exit\u
extra,一切正常

    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);
你可以尝试使用

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中,您可能会发现一些有趣的功能非常有用


希望有帮助。

使用SmsManager我必须添加权限,我不想这样做。为什么不使用startActivityForResult?@KanwaljitSingh它不起作用,它不会返回到以前的活动。