从Firebase加载个人资料图片URL时,滑行抛出'java.lang.SecurityException'

时间:2019-01-15 14:32:09

标签: android firebase firebase-authentication android-glide storage-access-framework

firebaseUser.getPhotoUrl()方法加载Firebase用户的个人资料图片时,我收到以下错误消息(注意:我使用 Glide 从URI加载图片)

Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider from ProcessRecord{ccece88 5351:joseph.benton.viqua/u0a122} (pid=5351, uid=10122) requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs

我检查了firebase.getPhotoUrl()方法的返回值,它的值是

  

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

这是我的代码段

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

if(user!=null){
            try {
                Glide.with(context)
                        .load(user.getPhotoUrl())
                        .apply(new RequestOptions()
                                .placeholder(R.drawable.ic_account_circle_white_48dp)
                                .diskCacheStrategy(DiskCacheStrategy.NONE)
                                .skipMemoryCache(true))
                        .into(imgAccount);
            } catch (IOException e) {
                e.printStackTrace();
            }
}

1 个答案:

答案 0 :(得分:0)

最后,我能够找到问题,该问题与个人资料图片上传模块有关。上载模块选择的文件类型错误。上传正确的图像文件和上面的代码可以正常工作。