无法使用nostra13通用图像加载器android加载imageView。

时间:2018-08-06 07:09:10

标签: java android universal-image-loader

您好,我正在尝试使用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。我也不确定如何查看错误。任何帮助表示赞赏:)

1 个答案:

答案 0 :(得分:0)

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

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。对不起,我没有发布所有代码,因为我不认为会遇到此类错误。希望这对某人有帮助。