从 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();
}
}
答案 0 :(得分:0)
最后,我能够找到问题,该问题与个人资料图片上传模块有关。上载模块选择的文件类型错误。上传正确的图像文件和上面的代码可以正常工作。