我正在使用 android 的 photo-picker,然后将路径转储到数据库中。这一切都有效,但是当我尝试从 RoomDB 加载图像时,图像无法加载。
我尝试过使用
Image
和 AsyncImage
,但没有运气。我还将字符串转换为 .toUri()
val painter = rememberImagePainter(data = File("content://media/picker/0/com.android.providers.media.photopicker/media/1000000020"))
Image( painter = painter, contentDescription = null)
AsyncImage(model = "content://media/picker/0/com.android.providers.media.photopicker/media/1000000020",
contentDescription = "Image from photo picker",
contentScale = ContentScale.Crop,
modifier = Modifier
.size(100.dp, 100.dp)
)
每次加载图像时,您必须确保您有读取图像的权限。在加载图像之前尝试此代码
val context = LocalContext.current
val uri = Uri.parse("content://media/picker/0/com.android.providers.media.photopicker/media/1000000020")
context.contentResolver.takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION)