Android 使用lookupkey获取联系人会产生意外的contat id

Android 使用lookupkey获取联系人会产生意外的contat id,android,contacts,android-contacts,android-contentresolver,contactscontract,Android,Contacts,Android Contacts,Android Contentresolver,Contactscontract,所以我有个问题 我正在通过执行以下操作接收联系人列表: mContentResolver.query(Contacts.CONTENT_URI, CONTACTS_PROJECTION, null, null, null); String lookupKey = cursor.getString(ContactsColumns.LOOKUP_KEY); int contactId = cursor.getInt(ContactsColumns._ID); 对于每个联系人,我通过执行以下操作提

所以我有个问题

我正在通过执行以下操作接收联系人列表:

mContentResolver.query(Contacts.CONTENT_URI, CONTACTS_PROJECTION, null, null, null);
String lookupKey = cursor.getString(ContactsColumns.LOOKUP_KEY);
int contactId = cursor.getInt(ContactsColumns._ID);
对于每个联系人,我通过执行以下操作提取查找键和联系人id:

mContentResolver.query(Contacts.CONTENT_URI, CONTACTS_PROJECTION, null, null, null);
String lookupKey = cursor.getString(ContactsColumns.LOOKUP_KEY);
int contactId = cursor.getInt(ContactsColumns._ID);
鉴于我可以从内容目录获取实体:

Uri contactUri = Contacts.getLookupUri(contactId, lookupKey);
    contactUri = Uri.withAppendedPath(contactUri, Entity.CONTENT_DIRECTORY);
    Cursor detailCursor = mContentResolver
            .query(contactUri, ENTITY_PROJECTION, SELECTION_ENTITY, SELECTION_ARGS_ENTITY, null);
到目前为止还不错。当我尝试获取一个联系人时,问题就开始了,只给出了它的查找键。我通过执行以下操作获取联系人光标:

Uri lookupUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey);
Uri res = ContactsContract.Contacts.lookupContact(mContentResolver, lookupUri);
Cursor cursor = mContentResolver.query(res, CONTACTS_PROJECTION, null, null, null);
现在的问题是,我得到了不同的联系id。联系信息属于同一个实际的人,但不同。可能有多个联系人连接到查找键

因此,当我现在尝试接收实体数据时,由于联系人id不同,因此不会得到相同的结果,这反过来会生成不同的内容uri

比如说,, 在第一种情况下,我得到:

content://com.android.contacts/contacts/lookup/<lookupkey>/1008/entities
content://com.android.contacts/contacts/lookup/<lookupkey>/511/entities
content://com.android.contacts/contacts/lookup//1008/entities
在第二种情况下,我得到:

content://com.android.contacts/contacts/lookup/<lookupkey>/1008/entities
content://com.android.contacts/contacts/lookup/<lookupkey>/511/entities
content://com.android.contacts/contacts/lookup//511/entities
我应该如何使用查找键以获得与我最初获得查找键的联系人相同的联系人

谢谢