0
我有谷歌联系链接与Facebook联系人(附图)和Skype联系人(附图)。如何正确获取联系人照片?
我选择联系人的Skype照片(通过地址簿应用程序)。地址簿显示与所选(Skype)照片的联系。
启动我的应用程序。通过联系人ID从ContactsContract.Contacts.CONTENT_URI申请照片ID。将Image加载到ImageView。一切似乎都很好 - 照片已被加载。完成我的应用。
我选择Facebook照片联系人(通过地址簿应用程序)。地址簿显示与所选(Facebook)照片的联系。
启动我的应用程序。再次通过联系人ID请求照片ID。收到的照片ID与以前的ID不同。将Image加载到ImageView。照片尚未加载。 LogCat:“relolveUri在错误位图uri上失败:...”。为什么???
我的代码的某些部分:
Cursor photoCursor = managedQuery(
ContactsContract.Contacts.CONTENT_URI,
new String[]{ ContactsContract.Contacts.PHOTO_ID },
ContactsContract.Contacts._ID + "=?",
new String[]{ contactId },
null);
String photoId = photoCursor.getString(photoCursor.getColumnIndex(ContactsContract.Contacts.PHOTO_ID));
Uri photoUri = Uri.withAppendedPath(ContactsContract.Data.CONTENT_URI, photoIdByContatId);
ImageView imageView = (ImageView)findViewById(R.id.photo);
imageView.setImageURI(photoUri);
MIMETYPE只需要为ContactsContract.Data.CONTENT_URI。我从ContactsContract.Contacts.CONTENT_URI获取照片ID。 – Eugene
如果尝试从ContactsContract.Data.CONTENT_URI接收照片ID,则会返回两个具有相同照片ID的记录。这些ID与我的相似。 – Eugene