android – 通过LOOKUP_KEY和openContactPhotoInputStream方便方法加载联系人图片

android – 通过LOOKUP_KEY和openContactPhotoInputStream方便方法加载联系人图片,第1张

概述我正在修改我的应用程序,以使用LOOKUP_KEY而不是API文档建议的_ID来存储有关联系人的信息.我遇到的唯一问题是我无法再加载联系人的照片. 有问题的代码是这样的: InputStream s = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), contactUri); 这将返回以下错误: 我正在修改我的应用程序,以使用LOOKUP_KEY而不是api文档建议的_ID来存储有关联系人的信息.我遇到的唯一问题是我无法再加载联系人的照片.

有问题的代码是这样的:

inputStream s = ContactsContract.Contacts.openContactPhotoinputStream(getContentResolver(),contactUri);

这将返回以下错误:java.lang.IllegalArgumentException:URI:content://com.androID.contacts/contacts/lookup/1424i118.2312i1220228108/photo

我用作参数的contactUri由以下内容获取:Uri contactUri = Uri.withAppendedpath(Contacts.CONTENT_LOOKUP_URI,contact_key);

在这个例子中,contact_key是1424i118.2312i1220228108

基于api文档,此帮助程序方法应该与我正在使用的CONTENT_URI或CONTENT_LOOKUP_URI一起使用.

有任何想法吗?谢谢.

解决方法 对于有类似问题的人来说,这对我有用:

public Bitmap getPhoto(Uri uri){    Bitmap photoBitmap = null;    String[] projection = new String[] { ContactsContract.Contacts.PHOTO_ID };    Cursor cc = getContentResolver().query(uri,projection,null,null);    if(cc.movetoFirst()) {        final String photoID = cc.getString(cc.getColumnIndex(ContactsContract.Contacts.PHOTO_ID));        if(photoID != null) {            final Cursor photo = managedquery(                    Data.CONTENT_URI,new String[] {Photo.PHOTO},Data._ID + "=?",new String[] {photoID},null            );            // Convert photo blob to a bitmap            if(photo.movetoFirst()) {                byte[] photoBlob = photo.getBlob(photo.getColumnIndex(Photo.PHOTO));                photoBitmap = BitmapFactory.decodeByteArray(photoBlob,photoBlob.length);            }            photo.close();        }    }     cc.close();    return photoBitmap;}
总结

以上是内存溢出为你收集整理的android – 通过LOOKUP_KEY和openContactPhotoInputStream方便方法加载联系人图片全部内容,希望文章能够帮你解决android – 通过LOOKUP_KEY和openContactPhotoInputStream方便方法加载联系人图片所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1121890.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存