Как получить подробную информацию о контакте в Android

Учитывая идентификатор контакта, я могу получить различные контактные данные (например, имя, телефон, адрес электронной почты и т. Д.), Создав разные запросы для каждого из этих полей.

Но существует ли метод получения всех деталей, связанных с этим идентификатором контакта, путем создания единого запроса?

Solutions Collecting From Web of "Как получить подробную информацию о контакте в Android"

Пришлось немного изменить учебник по Content Providers, поскольку он ссылается на устаревшие классы, это может помочь.

import android.provider.ContactsContract.Contacts; import android.database.Cursor; // Form an array specifying which columns to return, you can add more. String[] projection = new String[] { ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone ContactsContract.CommonDataKinds.Email }; Uri contacts = ContactsContract.Contacts.CONTENT_LOOKUP_URI; // id of the Contact to return. long id = 3; // Make the query. Cursor managedCursor = managedQuery(contacts, projection, // Which columns to return null, // Which rows to return (all rows) // Selection arguments (with a given ID) ContactsContract.Contacts._ID = "id", // Put the results in ascending order by name ContactsContract.Contacts.DISPLAY_NAME + " ASC");