Каков эффективный способ получить все имена контактов и номера телефонов в contact API


В настоящее время я использую старый API контактов (который был устаревшим на Android 2.0), и мне интересно, есть ли способ получить все контакты вместе с их телефонным номером, не делая отдельного запроса для каждого контакта, как было рекомендовано на нескольких сайтах, которые я нашел.

Например, в старом API я мог бы сделать что-то вроде этого:

String[] projection = new String[] { Phones._ID, Phones.NAME,
            Phones.NUMBER };

    Uri contacts = Phones.CONTENT_URI;

    Cursor managedCursor = managedQuery(contacts, 
            projection, // Which columns to return
            null, // Which rows to return (all rows)
            null, // Selection arguments (none)
            // Put the results in ascending order by name
            Phones.NAME + " ASC");

Спасибо.

1 2

1 ответ:

Я нашел то, что искал, и с помощью нового API еще проще, вот новый способ запроса всех контактов вместе с их именами и номерами телефонов:

Cursor managedCursor = getContentResolver()
    .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
     new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER}, null, null,  Phone.DISPLAY_NAME + " ASC");