我试图通过意图发送短信,我想在短信中添加一个正文。用户按下send
后,我想返回应用。我添加了额外的sms_body
和exit_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);
答案 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
希望它有所帮助。