Агрегированный взгляд на контакты с ContactsContract-API - PullRequest
1 голос
/ 13 февраля 2011

Я немного застрял с новым 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 с помощью пользователя уже сделал эту работу.

Любой намек на то, как я могу запросить эти объединенные контакты, очень ценится!

Ответы [ 2 ]

0 голосов
/ 06 июля 2011
0 голосов
/ 14 февраля 2011

Если я правильно понимаю ваш вопрос, ContactsContract.RawContactsEntity может вам помочь. Проверьте это

...