Создает объект, у которого есть поле для изображения < /p>
< /li>
Выбирает изображение из галереи для хранения устройства < /p>
< /li>
stores, которые объективны в помещение. /> < /li>
Показывает данные с изображением из базы данных < /p>
< /li>
< /ul>
Когда я пытаюсь выбрать второе, я нажимаю на изображение и получаю ошибку: < /p>
не настойчивые веращики, найденные для UID uid raid ». Контент: // media/...
Это мой код для выбора изображения:
Код: Выделить всё
val singlePhotoPickerLauncher = rememberLauncherForActivityResult(
contract = ActivityResultContracts.PickVisualMedia()){ imageUri ->
if (imageUri != null){
val contentResolver = context.contentResolver
val takeFlags: Int = Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION
try {
contentResolver.takePersistableUriPermission(imageUri, takeFlags)
viewModel.onEvent(AddPlantEvents.AddImageUri(imageUri))
} catch (e: SecurityException) {
// Handle the SecurityException, e.g., show an error message
Log.e("PickVisualMedia", "Failed to take persistable permission", e)
}
}
}
< /code>
Это моя кнопка: < /p>
Button(
modifier = Modifier
.width(100.dp)
.height(100.dp),
onClick = {
singlePhotoPickerLauncher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
}) {
Text(
text = "Add Photo",
textAlign = TextAlign.Center,
fontSize = 19.sp)
}
Я не нашел ответа, используя тот же метод, который я использовал, чтобы получить изображения, поэтому я прошу сейчас найти решение, или мне нужно менять, я не могу менять, я не должен был менять. Получите постоянный URI:
i удалил этот флаг:
или intent.flag_grant_write_uri_permission
и код работает
Подробнее здесь: https://stackoverflow.com/questions/792 ... id-and-uri
Мобильная версия