Я получаю идентификатор контакта (ContactsContract.Contacts._ID
)
Я определяю, доступна ли фотография, проверяя, соответствует ли ContactsContract.Contacts.PHOTO_ID
null
.
Если это не так, я создаюURI для фотографии:
Uri personUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,id);
Uri photoUri=Uri.withAppendedPath(personUri, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY);
Затем я установил photoUri
на ImageView
, используя метод setImageURI
.
Для некоторых фотографий я вижу картинку для других контактовЯ получаю следующее исключение:
Unable to open content: content://com.android.contacts/contacts/1912/photo
java.io.FileNotFoundException: java.io.FileNotFoundException: No results.
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:123)
at android.content.ContentProviderProxy.openAssetFile(ContentProviderNative.java:538)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:484)
at android.content.ContentResolver.openInputStream(ContentResolver.java:319)
at android.widget.ImageView.resolveUri(ImageView.java:521)
at android.widget.ImageView.setImageURI(ImageView.java:305)
Я не уверен, почему он не работает для некоторых контактов?
Но в основном я хотел бы знать, что я должен проверить, чтобычтобы избежать этого исключения?