如何从android中的每个联系人加载照片

时间:2013-07-01 12:03:18

标签: android contactscontract

通过以下代码,我可以加载contact names and emails,但我也希望获得该联系人的picture path,以便我可以显示image on imageview on each listview item。看过像this这样的帖子很少,但我无法理解如何通过我的联系人查询来实现。我的主要疑问是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);

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

0 个答案:

没有答案