首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含姓名和图片URI的联系人查询

包含姓名和图片URI的联系人查询
EN

Stack Overflow用户
提问于 2010-04-10 04:44:27
回答 1查看 4.6K关注 0票数 1

在联系人API的API2.0中,我找不到一个可以给出联系人图像的URI和显示名称的查询。

就目前而言,据我所知,我可以通过拥有联系人的_ID来创建URI,但我还没有看到可以在数据投影或联系人中使用的行名,以获得我需要的所有信息。

(请参考android SDK V5及以上版本联系人接口的接口2)

10倍。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-10 05:46:40

此方法返回照片Uri,如果getId()标识的联系人不存在,则返回null

代码语言:javascript
复制
public Uri getPhotoUri() {
        Uri person = ContentUris.withAppendedId(
                ContactsContract.Contacts.CONTENT_URI, Long.parseLong(getId()));
        Uri photo = Uri.withAppendedPath(person,
                ContactsContract.Contacts.Photo.CONTENT_DIRECTORY);

        Cursor cur = this.ctx
                .getContentResolver()
                .query(
                        ContactsContract.Data.CONTENT_URI,
                        null,
                        ContactsContract.Data.CONTACT_ID
                                + "="
                                + this.getId()
                                + " AND "
                                + ContactsContract.Data.MIMETYPE
                                + "='"
                                + ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE
                                + "'", null, null);
        if (cur != null) {
            if (!cur.moveToFirst()) {
                return null; // no photo
            }
        } else {
            return null; // error in cursor process
        }
        return photo;
    }

如果您将投影添加到光标以返回ContactsContract.Data.CONTACT_ID和ContactsContract.Data.DISPLAY_NAME,那么您最终可能会得到一个具有照片集的联系人列表。(并非所有联系人)。然后,对于每个联系人,您可以计算照片的Uri,如方法开头所示。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2610786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档