无法加载联系人照片安卓



听起来很紧张,但我无法从安卓联系人加载联系人照片。我尝试了很多代码,但没有任何效果。我的清单很好,权限已添加。厌倦了许多代码,包括 Android.com 的这段代码。它也不起作用:

Cursor managedCursor = context.getContentResolver().query(
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    new String[] { ContactsContract.Contacts._ID,
                            Phone.DISPLAY_NAME, Phone.NUMBER, Phone.PHOTO_ID },
                    null, null, Phone.DISPLAY_NAME + " ASC");
            Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,
                    contactId);
            Uri photoUri = Uri.withAppendedPath(contactUri,
                    Contacts.Photo.CONTENT_DIRECTORY);
            Cursor cursor = getContentResolver()
                    .query(photoUri,new String[] { acts.Photo.PH.CommonDataKinds.Photo.PHOTO },
                        null, null, null);
        if (cursor == null) {
            return null;
 }
        try {
            return getContentResolver().openInputStream(photoUri);
            // if (cursor.moveToFirst()) {
            // byte[] data = cursor.getBlob(0);
            // if (data != null) {
            // return new ByteArrayInputStream(data);
            // }
            // }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

我正在使用Kitkat在Google Nexus 4中进行测试。有人可以帮忙吗?

使用 ContactsContract.Contacts.CONTENT_URI 而不是 Contacts.CONTENT_URI ,以获取联系人 URI。根据此参考页面,Contacts.CONTENT_URI已被弃用。

此外,请查看以下内容:

示例代码 1

示例代码 2

最新更新