Android-Universal-Image-Loader
Android-Universal-Image-Loader copied to clipboard
Error: IllegalArgumentException while loading contact photo
Here is my Base ImageDownloader snippet
`config.imageDownloader(new ImageDownloader() {
@Override
public InputStream getStream(String imageUri, Object o) throws IOException {
ContentResolver res = context.getContentResolver();
Uri uri = Uri.parse(imageUri);
if (imageUri.startsWith("content://com.android.contacts/")) {
return ContactsContract.Contacts.openContactPhotoInputStream(res, uri);
} else {
return res.openInputStream(uri);
}
}
});`
Still I am getting following error at this line
return ContactsContract.Contacts.openContactPhotoInputStream(res, uri);
Error:
URI: content://com.android.contacts/display_photo/1/photo, calling user: com.myapp, calling package:com.myapp java.lang.IllegalArgumentException: URI: content://com.android.contacts/display_photo/1/photo, calling user: com.myapp, calling package:com.myapp at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:167) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137) at android.content.ContentProviderProxy.query(ContentProviderNative.java:421) at android.content.ContentResolver.query(ContentResolver.java:478) at android.content.ContentResolver.query(ContentResolver.java:422) at android.provider.ContactsContract$Contacts.openContactPhotoInputStream(ContactsContract.java:2016) at android.provider.ContactsContract$Contacts.openContactPhotoInputStream(ContactsContract.java:2047) at com.myapp.BaseApplication$1.getStream(BaseApplication.java:123) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.downloadImage(LoadAndDisplayImageTask.java:291) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryCacheImageOnDisk(LoadAndDisplayImageTask.java:274) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:230) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:136) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)