我正尝试使用以下代码从联系人中获取较大尺寸的图片:
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);
}
我有imageview
match_parent
(宽度和高度)。
来自联系人的所有照片都模糊不清。我相信它正在拍摄缩略图。我如何获得大局?
答案 0 :(得分:2)
你必须使用
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);
如果你没有输入布尔参数,默认情况下它是假的,它将返回缩略图视图。