【问题标题】:Glide throwing 'java.lang.SecurityException' while loading profile picture URL from Firebase从 Firebase 加载个人资料图片 URL 时 Glide 抛出“java.lang.SecurityException”
【发布时间】:2019-01-15 14:32:09
【问题描述】:

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

这是我的代码 sn-p

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

【问题讨论】:

  • 您是否在 Firebase 中允许您的安全性?控制台规则
  • 您好 Zuhrain,我必须在哪个部分更改规则?身份验证?
  • Firebase 实时数据库。你允许这些规则吗?
  • 这是实时数据库中的当前规则
  • { "rules": { ".read": "auth != true", ".write": "auth != null" } }

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-11-16
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2017-06-14
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多