android - Android 中联系人的大照片版本

标签 android android-contacts

我正在尝试使用以下代码从我的联系人中获取较大尺寸的图片:

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/

相关文章:

Android AVD 无法通知 JmDNS 服务

java - 使用 volley 获取 JSON 响应 - Android Studio

android - LocalBroadcastManager 类的 sendBroadcast 方法返回什么?

android - 长按数字时添加选项

android - 在Android中使用ContactsContract时出现"SQLiteException: no such column: mimetype"

android - 获取字符串中联系人的手机号码、工作号码和家庭号码

java - 将数据从 Android 应用连接并插入到预先存在的 MS SQL 数据库

java - Android 2D游戏简单引擎或框架

android - 按电话号码搜索联系人

android - 如何从我在 android 中的联系人应用程序中获取唯一的联系电话?