Не найдено постоянных разрешений для UID и Uri.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не найдено постоянных разрешений для UID и Uri.

Сообщение Anonymous »

Я создаю приложение, которое:
  • Создает объект с полем для изображения
    < /li>
    выбрать изображение из «Галереи» хранилища устройства
  • сохранить этот объект в базе данных помещений
  • показать данные с изображением из базы данных
когда я пытаюсь выбрать второе изображение, я нажимаю на изображение и получаю эту ошибку

Не найдено постоянных разрешений для UID «номер» и Uri content://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)
}
}
}
это моя кнопка:

Код: Выделить всё

                    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)
}
Сначала я не добавил ContentResolver и получил другую ошибку, затем я поискал, спросил и обнаружил, что он мне нужен, чтобы получить постоянный Uri, когда Я отредактировал свой код и запустил приложение, чтобы протестировать его. Я получил упомянутую выше ошибку «Не найдено постоянных разрешений для UID и Uri».
Я не нашел ответа, используя тот же метод. Я использую для получения изображений, поэтому я прошу сейчас найти решение или нужно ли мне изменить способ получения изображений.
P.S: я узнал, почему я не получил persist uri:
Я удалил этот флаг:

или Intent.FLAG_GRANT_WRITE_URI_PERMISSION

и код работает

Подробнее здесь: https://stackoverflow.com/questions/792 ... id-and-uri
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»