Android联系人挑选Uri

时间:2013-05-01 13:58:44

标签: android android-contacts contactscontract

我有一个字符串内容// com.android.contacts / contacts / contacts / 2,即在用户选择了特定号码的后面。

从这个字符串中,我如何获得此特定联系人的电话号码?

我是android环境的新手,所以我的问题可能看起来有点原始。

Cursor c = (Cursor)mAdapter.getItem(a.keyAt(i));
Long id = c.getLong(c.getColumnIndex(ContactsContract.Contacts._ID));
contacts.add(ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id));

chosenContacts = sb.toString();

selectedContacts是我的字符串,其中包含内容// com.android.contacts / contacts / contacts / 2

1 个答案:

答案 0 :(得分:0)

您需要第二个请求。您可以使用代码段的ID:

     Cursor phoneNoCursor = contentResolver.query(
             Data.CONTENT_URI,
             new String[] {Phone.NUMBER, Phone.TYPE, Phone.LABEL},
             Data.MIMETYPE + " = ? AND " + Data.CONTACT_ID + " = ? ",
             new String[] {String.valueOf(Phone.CONTENT_ITEM_TYPE, id)}, 
             null);

有关可能类型的列表,请参阅Phone class的说明。但无论如何,数字本身及其标签也足够了。