0

通过下面的代码我可以加载contact names and emails,但我也想得到picture path那个联系人的,这样我就可以显示image on imageview on each listview item。很少看到这样的帖子但我无法理解如何通过我的联系人查询来实现。我的主要疑问是PHOTO_ID返回很长,我如何使用它来获取图片的路径。

String[] PROJECTION = new String[] { ContactsContract.RawContacts._ID, 
                    ContactsContract.Contacts.DISPLAY_NAME,
                    ContactsContract.Contacts.PHOTO_ID,
                    ContactsContract.CommonDataKinds.Email.DATA, 
                    ContactsContract.CommonDataKinds.Photo.CONTACT_ID };
            String order = "CASE WHEN " 
                    + ContactsContract.Contacts.DISPLAY_NAME 
                    + " NOT LIKE '%@%' THEN 1 ELSE 2 END, " 
                    + ContactsContract.Contacts.DISPLAY_NAME 
                    + ", " 
                    + ContactsContract.CommonDataKinds.Email.DATA
                    + " COLLATE NOCASE";
            String filter = ContactsContract.CommonDataKinds.Email.DATA + " NOT LIKE ''";
            Cursor cur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, PROJECTION, filter, null, order);

有人可以告诉我如何加载每个联系人的图片吗?提前致谢。

4

0 回答 0