Я немного застрял с новым ContactsContract-API здесь. Я думаю, что я не совсем понимаю API и надеюсь, что кто-то может дать мне подсказку.
Я указал в документации, что Android объединяет несколько RawContacts в так называемые «объединенные контакты». Это довольно приятная новая функция с выпуском 2.x Android.
Что я не могу сделать, так это получить доступ к этому «объединенному контакту». Например, у пользователя есть обычный телефонный контакт с реальным именем и телефоном, сохраненным в его телефонной книге, и у него есть тот же человек, что и у контакта с Facebook, с его ником и днем рождения. Теперь он присоединяется к этим двум контактам, и у него есть хороший общий контакт с реальным именем, телефоном и днем рождения, к которому он может получить доступ.
Мой вопрос: как я, как разработчик, могу получить доступ к этому агрегированному контакту?
Я думал о получении всех RawContacts, связанных с одним контактом, как это:
Cursor c = getContentResolver().query(RawContacts.CONTENT_URI,
new String[]{RawContacts._ID},
RawContacts.CONTACT_ID + "=?",
new String[]{String.valueOf(contactId)}, null);
Но тогда я не смог бы решить, какое имя является «настоящим именем» Контакта, и другие проблемы. И мне не нравились мои другие хакерские идеи, как собирать эти RawContacts самостоятельно, потому что Android с помощью пользователя уже сделал эту работу.
Любой намек на то, как я могу запросить эти объединенные контакты, очень ценится!