我正在尝试使用以下代码从我的联系人中获取较大尺寸的图片:
Uri my_contact_Uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(contactId));
InputStream photo_stream = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), my_contact_Uri);
if(photo_stream != null)
{
BufferedInputStream buf =new BufferedInputStream(photo_stream);
Bitmap my_btmp = BitmapFactory.decodeStream(buf);
profile.setImageBitmap(my_btmp);
}
else
{
profile.setImageResource(R.drawable.contactpic);
}
我有一个带有 match_parent
(宽度和高度)的 imageview
。
联系人的所有照片都模糊了。我确信它正在拍摄缩略图。如何获得大图?
最佳答案
你必须使用
ContentResolver cr = getContext().getContentResolver();
Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.valueOf(CONTACT_ID));
InputStream photo_stream = ContactsContract.Contacts.openContactPhotoInputStream(cr, contactUri, true);
如果不输入boolean参数,默认为false,返回缩略图 View 。
关于android - Android 中联系人的大照片版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22368289/