Невозможно получить необходимые данные одним запросом. Для каждого идентификатора контакта вы должны запросить его каталог данных:
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
Uri dataUri = Uri.withAppendedPath(contactUri, Contacts.Data.CONTENT_DIRECTORY);
Затем следует выполнить запросы к этому URI, отфильтровывая MIMETYPE
по StructuredName.CONTENT_ITEM_TYPE
, чтобы получить StructuredName
для данного идентификатора.
Uri dataUri = Uri.withAppendedPath(contactUri, Contacts.Data.CONTENT_DIRECTORY);
Cursor nameCursor = getActivity().getContentResolver().query(
dataUri,
null,
Data.MIMETYPE+"=?",
new String[]{ StructuredName.CONTENT_ITEM_TYPE },
null);