Это происходит, когда я пытаюсь использовать contentResolver для URI, который я получаю и только вчера началось, тогда как раньше в течение нескольких месяцев с этим не было проблем.
Я бы задал этот вопрос, но до сих пор не уверен, как решить мой конкретный случай.
ContentResolver.takePersistableUriPermission: SecurityException Не найдено постоянных разрешений для UID 10434 и содержимого Uri:/
Commonware смогла помочь им решить проблему.
/>Я попробовал реализовать это решение, но у меня оно не сработало, что привело к той же ошибке. Итак, это код, над которым я сейчас пытаюсь работать.
Код: Выделить всё
val pickMediaOne = rememberLauncherForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri -> if (uri != null) { // Grant read URI permission to access the selected URI val flag = Intent.FLAG_GRANT_READ_URI_PERMISSION context.contentResolver.takePersistableUriPermission(uri, flag) var durationInSeconds: Int try { val mp: MediaPlayer = MediaPlayer.create(context, uri) durationInSeconds = mp.duration / 1000 mp.release() } catch (e: Exception) { durationInSeconds = 0 } if (durationInSeconds > 15) { durationIsTooLongForMedia = true snackbarMessage = "Please choose a video no longer than 15 seconds." scope.launch { snackbarHostState.showSnackbar( snackbarMessage, duration = SnackbarDuration.Short ) } //Video is too long, handle accordingly (e.g., show error message) } else { mediaOneState = uri.toString() } } }Подробнее здесь: https://stackoverflow.com/questions/790 ... nd-for-uid
Мобильная версия