我有一个'n'联系人ID列表,我需要获取联系人详细信息。使用联系人ID进行n次查询并检索这些联系人的一种简单方法。但是这将是非常耗时的,特别是如果n很大的话。我想知道是否有更简单的方法来获得这些结果(如批量查询等)。
答案 0 :(得分:1)
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();
}