Получение контактов, когда идентификаторы известны - PullRequest
1 голос
/ 15 марта 2010

У меня есть список из n контактных идентификаторов, в соответствии с которыми мне нужно получить контактную информацию. Один простой способ сделать n запросов, используя идентификаторы контактов и получить эти контакты. Но это будет очень много времени, особенно если n большое. Я хотел бы знать, есть ли более простой способ получить эти результаты (например, пакетный запрос и т. Д.).

1 Ответ

1 голос
/ 15 марта 2010
ContentResolver cr = context.getContentResolver();
String[] projection = new String[] { ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME};
Cursor c = cr.query(ContactsContract.Contacts.CONTENT_URI, projection,
                ContactsContract.Contacts._ID + " in ("+comma_delimited_ids+") , null,
                ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");

тогда вы можете зациклить курсор

if (c!=null) {
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                       // your code to get details from cursor
            }
            c.close();
        }
...