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