从 Firebase 加载个人资料图片 URL 时滑行投掷 'java.lang.SecurityException'

Glide throwing 'java.lang.SecurityException' while loading profile picture URL from Firebase

我在从 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() 方法的 return 值,它的值是

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();
            }
}

终于找到问题所在了,问题出在头像上传模块上。上传模块选择了错误的文件类型。上传正确的图像文件和上面的代码按预期工作正常。