联系选择器,获取电话号码

时间:2012-07-12 13:06:27

标签: android android-contacts

当我在用户选择联系人选择器中的联系人时,我一直在寻找如何获取电话号码。我知道如何打开联系人选择器。但不是如何获得电话号码。

我试过这些例子:

http://mobile.tutsplus.com/tutorials/android/android-essentials-using-the-contact-picker/
http://www.enkeladress.com/article.php/android_snippen_show_contact_picker

还有很多stackoverflow线程,但Phone类似乎不赞成使用。那么,我该怎么做呢?

提前致谢!

(真的很抱歉英语不好!希望你明白!)

1 个答案:

答案 0 :(得分:2)

这对我有用。

Uri contactData = data.getData();
Cursor c =  main.managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
    String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
}

Cursor c1 = mcontext.getContentResolver().query(Data.CONTENT_URI,
    new String[] {Data._ID, Phone.NUMBER, Phone.TYPE, Phone.LABEL},
    Data.CONTACT_ID + "=?" + " AND "
    + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'",
    new String[] {String.valueOf(contactId)}, null);
c1.moveToFirst();
String number = c1.getString(1);

我从谷歌文档中获得了查询。你在第一个位置得到字符串,因为这是上面查询中的位置 http://developer.android.com/reference/android/provider/ContactsContract.Data.html