Какой эффективный способ получить все имена контактов и номера телефонов в API контактов? - PullRequest
2 голосов
/ 30 апреля 2011

В настоящее время я использую старый 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 Ответ

4 голосов
/ 01 мая 2011

Я нашел то, что искал, и использовать новый 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");
...