【问题标题】:Set QuickContactBadge image to contact's profile picture将 QuickContactBadge 图像设置为联系人的个人资料图片
【发布时间】:2012-01-02 15:58:14
【问题描述】:

我正在使用 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);

最简单的方法是什么?谢谢。

【问题讨论】:

    标签: android android-layout contactscontract quickcontactbadge


    【解决方案1】:

    这样就可以了:

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

    【讨论】:

    • 徽章中也可以获取facebook头像吗?我收到错误 isQmage : stream is not a Qmage file
    【解决方案2】:

    您不需要自己管理位图。只需从 ContactsContract.Contacts 内容提供商处获取 photoUri(与您获取 contactId 的位置相同)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 2017-09-30
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多