如何从uri获取联系人ID?

时间:2015-08-10 18:22:50

标签: android android-intent android-contacts

我想获得具体的联系人ID和姓名。获得它的最佳途径是什么?

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

我只想获得联系我选择数据而不是所有联系人。我怎么能这样做?

1 个答案:

答案 0 :(得分: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);

}