从 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();
}
}
终于找到问题所在了,问题出在头像上传模块上。上传模块选择了错误的文件类型。上传正确的图像文件和上面的代码按预期工作正常。
我在从 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();
}
}
终于找到问题所在了,问题出在头像上传模块上。上传模块选择了错误的文件类型。上传正确的图像文件和上面的代码按预期工作正常。