我正在编写一个应用程序,当使用股票android短信息时,需要使用联系人的名字预先填充短信。
例如,如果我的联系人姓名是Alex Smith。
当我选择Alex Smith键入消息时,我希望文本框已经有
'Alex,'
在短信开头。
请问我该如何实现?
答案 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)
答案 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);
}