升级到Android 4.0 ICS后,我的应用程序(包含带图片的联系人列表)停止加载这些联系人的图像。
调试后,以下行似乎总是返回NULL。
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
我根本没有改变应用程序,在升级到ICS后就开始发生了这种情况。
我有权限READ_CONTACTS。
有谁知道为什么会发生这种情况?他们可以改变什么?这种方法是弃用还是什么?
完整代码:
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);
}