【发布时间】: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