在Android上的EditText字段上访问电话号码建议

时间:2012-09-23 15:11:13

标签: android phone-number

我使用说明Here写了一个短信发送应用程序。现在我想根据电话簿中保存的号码输入号码或姓名时添加电话号码的建议,例如当我们输入号码来呼叫它时会建议一个号码(动态输入)。

有可能做到吗?如果可能的话,我该怎么做?我使用过API级别2.2。

修改: 我在问题Here的帮助下做到了这一点但是当我点击电话簿中的名字时,它会在文本框上放置名字,但我需要发送短信的号码。

问题:我怎样才能获得号码,以便我可以将消息发送到所选名称。

1 个答案:

答案 0 :(得分:2)

是的,有可能。您可以使用ContactsContract更改手机中的现有号码,将手机号码EditText更改为AutoCompleteTextView,然后使用SimpleCursorAdapter将联系人中的号码绑定到AutoCompleteTextView。


<强>加成
如果您想将联系人姓名转换为电话号码,可以在“提交”按钮的onClick()方法中尝试:

Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
        new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER }, 
        ContactsContract.Contacts.DISPLAY_NAME + " = '" + autoComplete.getText() + "'", 
        null, null);
if(cursor.moveToFirst()) 
    phoneNo = cursor.getString(0);

了解这只会从第一个联系人获取与您的AutoCompleteTextView中的名称匹配的第一个数字。您必须辨别出一种区分具有相同名称的联系人以及与多个号码联系的方法。