毕加索没有从本地文件加载图像

时间:2014-10-24 19:31:36

标签: android image bitmap filesystems picasso

我有一个通常从在线获取图像的视图。但是当在线图像不可用时(例如在飞行模式下),可以从本地文件系统加载图像(如果可用)。但毕加索没有加载图像。我正在使用日志记录来跟踪进度,因此我知道所有操作都是为了调用毕加索。如果存在错误,如何打印错误?或者更好的是,我该如何解决这个问题呢? 再次当相同的代码使用来自服务器的网址时,一切正常。

以下是本地文件的路径:

 /storage/emulated/0/DCIM/Camera/20140922_162920-1.jpg

这是代码

private void addBkgFromLocalCache(String uriStr) {
    if (null != uriStr) {
        Log.i(TAG, "bkg uirstring is not null: " + uriStr);
        Uri uri = Uri.parse(uriStr);
        Log.i(TAG, "bkg uri is : " + uri);

        Picasso.with(this).load(uri).into(new Target() {

            @Override
            public void onBitmapFailed(Drawable arg0) {
            }

            @Override
            public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {
                Log.i(TAG, "Loading bkg from local: call from inside picasso");
                setActivityBackground(bitmap);
            }

            @Override
            public void onPrepareLoad(Drawable arg0) {
            }
        });
    }
}

如果我使用File f = new File(uriStr)而不是Uri,我也会得到相同的无图像问题。

1 个答案:

答案 0 :(得分:0)

使用Glide时,我也遇到同样的问题

   Glide.with(context)
        .load(file)
        .apply(new RequestOptions().placeholder(R.mipmap.outline_slow_motion_video_black_24)
        .override(300,300)
        .centerCrop())
        .into(holder.imageview_dynimages);