如何获取联系人照片 URI
我正在与 Android Contact ContentProvider 合作。我有一个电话号码,我需要获取与该电话号码关联的联系人照片的URI。我该怎么办呢???
我知道我可以获取照片的原始数据并构建InputStream,但我不需要输入流,我需要URI。
编辑:最初我使用以下代码来获取联系信息
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNo));
Cursor cursor = context.getContentResolver().query(uri, details, null, null, null);
I am working with Android Contact ContentProvider. I have a Phone Number and I need to get the URI of the Photo of the contact associated with this phone number. How can I do it???
I know I can get the raw data of the photo and build an InputStream, but I dont want the input stream, I need the URI.
EDIT: Originally I'm using following code to fetch contact info
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNo));
Cursor cursor = context.getContentResolver().query(uri, details, null, null, null);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
要使用电话号码获取联系人 ID,请使用以下代码:
并使用获取的联系人 ID 获取联系人照片 URI。使用以下代码获取照片 URI:
希望这会有所帮助。
To get the conatct id using the phone number use the following code:
and use the contact id obtained to get the contatc photo URI. Use the following code for getting photo URI:
Hope this would help.
此解决方案演示了如何从用户联系人获取图像,然后将其显示在
ImageView
中。This solution demonstrates how to get an image from a user contact and then display it in an
ImageView
.以下是 Android 文档中的代码。
Here's the code from Android Documentation.
您可以通过
NUMBER
获取PHOTO_URI
,只需使用以下代码,您也可以使用_ID。You can get
PHOTO_URI
byNUMBER
just use following code also you can use _ID.所以现在如果 sdk 是 honeycomb 或更高版本,您就有联系人的缩略图 uri。
或者您可以构造一个如下所示的查找 URI:
PS 如果您已经知道联系人 ID 和/或查找键,您可以从字符串构造一个 Uri:
lookup:
content ://com.android.contacts/contacts/lookup/{查找键}/{联系人 ID}
缩略图:
content://com.android.contacts/contacts/{contact id}/photo
因此最好缓存这些值。
So now if sdk is honeycomb or higher u have thumbnail uri of the contact.
Or you can construct a lookup uri like this:
P.S. If you already know contact id and/or lookup key you can construct a Uri from string:
lookup:
content://com.android.contacts/contacts/lookup/{lookup key}/{contact id}
thumbnail:
content://com.android.contacts/contacts/{contact id}/photo
So it's better to cache these values.