Android:如何预先填充短信

时间:2013-07-23 07:10:44

标签: android sms

我正在编写一个应用程序,当使用股票android短信息时,需要使用联系人的名字预先填充短信。

例如,如果我的联系人姓名是Alex Smith。

当我选择Alex Smith键入消息时,我希望文本框已经有

'Alex,'

在短信开头。

请问我该如何实现?

enter image description here

4 个答案:

答案 0 :(得分:4)

从联系人中获取联系人姓名,并按以下步骤操作:

String contactName = "Alex"; // get it from selected contact
Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "sms:" + phoneNumber ) ); 
intent.putExtra( "sms_body", contactName+"," ); 
startActivity( intent );

答案 1 :(得分:1)

请看这里:

Send SMS via intent

您使用Intent发送SMS并通过EXTRA_TEXT属性附加一些预定义的文本。很容易做到。它也适用于正常的SHARE意图。

答案 2 :(得分:0)

您无法更改系统应用,但您可以将“分享意图”从您的应用发送到SMS应用。如您所知,当您在某些应用中按“分享”按钮时,您可以通过短信分享smth。 (你将拥有带有应用程序意图的文本的短信)。所以,将联系人的姓名放在“分享意图”中,然后发送到短信应用程序。

答案 3 :(得分:0)

为时已晚,但我希望它将对将来的用户有所帮助。

void prePopulateSMS(final String mblNumVar, final String smsMsgVar) {
    Log.d(TAG, "prePopulateSMS called. smsMsgVar: " + smsMsgVar);


    Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
    smsIntent.setType("vnd.android-dir/mms-sms");
    smsIntent.putExtra("address", mblNumVar);
    smsIntent.putExtra("sms_body", smsMsgVar);
    startActivity(smsIntent);

}