Android - openContactPhotoInputStream为所有联系人照片ID返回NULL

Ela*_*ava 9 null android image contact

升级到Android 4.0 ICS后,我的应用程序(包含带图像的联系人列表)停止加载这些联系人的图像.

调试后,似乎以下行总是返回NULL.

 InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
Run Code Online (Sandbox Code Playgroud)

我没有改变应用程序,在升级到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);
}
Run Code Online (Sandbox Code Playgroud)