【发布时间】:2015-04-02 15:09:20
【问题描述】:
当用户需要选择一个联系人时,我称之为intent:
Intent pickContactIntent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI );
pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
在 onActivityResult 我有以下内容:
Uri pickedContact = intent.getData();
Cursor cursor = getContentResolver().query(pickedContact, null, null, null, null);
if (cursor.moveToFirst()) {
contactInfo.name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
contactInfo.photo = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.PHOTO_THUMBNAIL_URI));
Cursor pCur = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID))}, null);
}
虽然 DISPLAY_NAME 和 PHOTO_THUMBNAIL_URI 按预期工作,但 _ID 似乎属于不同的联系人,因此电话号码光标会检索(不同联系人的)不相关的电话号码。我错过了什么?
【问题讨论】:
标签: android android-intent android-contacts