2011-11-21 100 views
2

我正在使用QuickContactBadge並希望它顯示聯繫人的個人資料圖片。 這是我如何加載的聯絡信息:將QuickContactBadge圖像設置爲聯繫人的個人資料圖片

Uri contactUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactId)); 
    QuickContactBadge badge = (QuickContactBadge) findViewById(R.id.badge); 
    badge.setMode(ContactsContract.QuickContact.MODE_LARGE); 
    badge.assignContactUri(contactUri); 

什麼是最簡單的方法是什麼?謝謝。

回答

4

這將做到這一點:

InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), contactUri); 
badge.setImageBitmap(BitmapFactory.decodeStream(input)); 
+0

是否也可以在徽章中獲取Facebook個人資料圖片?我收到錯誤isQmage:流不是Qmage文件 – Diego

0

你不需要自己管理的位圖。只需從ContactsContract.Contacts內容提供商處獲取photoUrip(與獲得聯繫人ID相同的地方)

Uri photoUri = Uri.parse(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.PHOTO_THUMBNAIL_URI)) 
badge.setImageURI(photoUri)