Tuesday, 3 September 2013

Universal Image Loader Base Image Downloader

Universal Image Loader Base Image Downloader

On my application I used universal image downloader BaseImageDownloader
class for syncronious loading contents of gallery.For the same content
from Imageloader.getInstance().loadImage asyncronious function it does not
gives any security exception and loads the image as it is ment to be but
when I try to download it syncroniously using BaseImageDownloader (Also
Imageloader.getInstance().loadImage() makes the same) i get this security
Exception
09-02 18:49:43.971: W/System.err(4244): java.lang.SecurityException:
Permission Denial: reading com.android.gallery3d.provider.GalleryProvider
uri
content://com.google.android.gallery3d.provider/picasa/item/5879964074642783474
from pid=4244, uid=10064 requires
com.google.android.gallery3d.permission.GALLERY_PROVIDER, or
grantUriPermission()
09-02 18:49:43.971: W/System.err(4244): at
android.os.Parcel.readException(Parcel.java:1425)
09-02 18:49:43.971: W/System.err(4244): at
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
09-02 18:49:43.971: W/System.err(4244): at
android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:148)
09-02 18:49:43.971: W/System.err(4244): at
android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:617)
09-02 18:49:43.971: W/System.err(4244): at
android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:717)
09-02 18:49:44.011: W/System.err(4244): at
android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:614)
09-02 18:49:44.011: W/System.err(4244): at
android.content.ContentResolver.openInputStream(ContentResolver.java:449)
09-02 18:49:44.011: W/System.err(4244): at
com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromContent(BaseImageDownloader.java:156)
09-02 18:49:44.011: W/System.err(4244): at
com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloader.java:88)
09-02 18:49:44.011: W/System.err(4244): at
com.uploader.data.UploadImageData.decodeSampledBitmapFromStream(UploadImageData.java:80)
Also I searched the code and you do not take any permission for that on
configuration or somewhere else what will be the cause?
public static Bitmap decodeSampledBitmapFromStream(String path, int
reqWidth, int reqHeight) throws IOException {
BaseImageDownloader downloader = new
BaseImageDownloader(getApplicationContext());
InputStream stream = downloader.getStream(path, null);
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(stream, new Rect(-1,-1,-1,-1), options);
stream.close();
options.inSampleSize = calculateInSampleSize(options, reqWidth,
reqHeight);
options.inJustDecodeBounds = false;
stream = downloader.getStream(path, null);
Bitmap bitmap = BitmapFactory.decodeStream(stream, new
Rect(-1,-1,-1,-1), options);
stream.close();
return bitmap;
}

No comments:

Post a Comment