Android-openContactPhotoInputStream为所有联系人照片ID返回NULL
升级到Android 4.0 ICS后,我的应用程序(包含带有图像的联系人列表)停止加载这些联系人的图像 调试之后,下面的行现在似乎总是返回NULLAndroid-openContactPhotoInputStream为所有联系人照片ID返回NULL,android,null,image,contact,Android,Null,Image,Contact,升级到Android 4.0 ICS后,我的应用程序(包含带有图像的联系人列表)停止加载这些联系人的图像 调试之后,下面的行现在似乎总是返回NULL InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri); 我根本没有更改应用程序,在升级到ICS之后,这种情况就开始发生了 我有读取联系人的权限 有人知道为什么会这样吗?他们能改变什么?这个方法是不推荐的还是什么 完整代码: publi
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
我根本没有更改应用程序,在升级到ICS之后,这种情况就开始发生了
我有读取联系人的权限
有人知道为什么会这样吗?他们能改变什么?这个方法是不推荐的还是什么
完整代码:
public static Bitmap loadContactPhoto(ContentResolver cr, long id)
{
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
if (input == null) {
return null;
}
return BitmapFactory.decodeStream(input);
}
doc说“返回照片的输入流,如果没有照片,则返回null”可能是这样的?问题是照片存在,至少在stock Contacts应用程序中,这些照片是针对Facebook和自定照片显示的。您是否检查过其他类似的应用程序是否可以显示这些图像?这正是我在应用程序中检索照片联系人时使用的代码,并且它正在工作。那么,您的ContentResolver和ID来自哪里?