【问题标题】:Unable to load imageView using nostra13 Universal Image loader android .无法使用 nostra13 Universal Image loader android 加载 imageView。
【发布时间】:2019-01-13 02:20:05
【问题描述】:

大家好,我正在尝试使用 nostra13 的 UniversalImageLoader 显示图像。我不知道如何获得failReason。这是我加载图像 uri 的代码。我为此使用 de.hdodenhof.circleimageview.CircleImageView 。

CircleImageView profilePhoto = findViewById(R.id.profile_photo);
imageLoader.displayImage(user.getImage_path(),profilePhoto,new ImageLoadingListener() {

                @Override
                public void onLoadingStarted(String imageUri, View view) {
                    Log.i(TAG,"started");
                }

                @Override
                public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
                    Log.i(TAG,imageUri);
                    failReason.getCause();
                    Log.i(TAG,failReason.getType().toString());

                }

                @Override
                public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
                    Log.i(TAG,"YAY");
                }

                @Override
                public void onLoadingCancelled(String imageUri, View view) {

                }
            });

字符串图像 Uri 是一个内容提供者 uri,因为我正在尝试从我的手机存储中加载此图像。

imageUri : content://com.android.providers.media.documents/document/image%3A38

据我所知,Universal Image Loader 能够加载内容提供程序 Uri。我也不确定如何查看错误。任何帮助表示赞赏:)

【问题讨论】:

  • 如果存在则从 url 中删除空格
  • 给我们您的图片链接(在日志中打印图片链接)
  • 上面的imageUri是图片链接?上面的图像uri是日志中打印的内容
  • 像image%3A38.jpg一样在末尾添加ext
  • @Waleed Asim 嗨,它没用。我将行更改为 imageLoader.displayImage(user.getImage_path() + ".jpg" ,profilePhoto,new ImageLoadingListener() {..} 并且日志用 .jpg 打印出相同的路径。 content://com.android .providers.media.documents/document/image%3A38.jpg

标签: java android universal-image-loader


【解决方案1】:

好吧,所以我在筛选日志后发现了一个安全异常

java.lang.SecurityException: Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider from ProcessRecord{500992e 4972:com.example.recouture/u0a83} (pid=4972, uid=10083) requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs

因为我所做的是我在另一个活动中从图库中选择了一张图片并将该 uri 上传到 firebase。因此,在另一个活动中,我打算从 firebase 读取 uri,并将其设置为我所在的当前活动中的图像。但是,即使我上传了 uri 的活动,我当前的活动也没有执行此操作所需的权限做过。我为规避这个问题所做的是使用firebase存储上传图像并将uri存储到我上传到firebase的对象中。然后在我想检索 Uri 的活动中,我可以轻松地使用 ImageLoader 显示来自 firebase 的 uri。很抱歉没有发布所有代码,因为我认为我不会遇到这样的错误。希望这可以帮助某人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2012-12-14
    • 1970-01-01
    相关资源
    最近更新 更多