2015-08-10 6 views
-1

Я хочу получить конкретный контактный идентификатор и имя. что это лучший способ получить его?Как получить идентификатор контакта из uri?

if (requestCode == mActions.REQUEST_PICK_CONTACT && resultCode == RESULT_OK) { 
    Uri uriContact = (Uri)data.getData(); 
     String/int id = ??? 
     String name = ??? 
     String phoneNumber = ??? 
    } 
    } 

Я просто хочу получить контакт, который я выбираю для данных, а не для всех контактов. как мне это сделать?

+0

Что 'uriContact.getPath()' содержат? – greenapps

+0

Взгляните на этот ответ http://stackoverflow.com/a/17067006/2278598 –

ответ

1

Вот как вы можете получить метаданные контакта, если у вас есть контакт с URI.

String id, name, phone, hasPhone; 
int idx; 
Cursor cursor = getContentResolver().query(contactUri, null, null, null, null); 
if (cursor.moveToFirst()) { 
    idx = cursor.getColumnIndex(ContactsContract.Contacts._ID); 
    id = cursor.getString(idx); 

    idx = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); 
    name = cursor.getString(idx); 

    idx = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER); 
    hasPhone = cursor.getString(idx); 

}

Смежные вопросы