С момента выхода Android Q произошли некоторые изменения конфиденциальности в разрешениях на чтение из внешнего хранилища. У меня есть приложение чата, в котором пользователь может выбрать фотографию из списка Загрузки и c ... и отправить ее. Поэтому мне нужно иметь доступ к этим файлам. Я сделал это с помощью contentProvider.
context.contentResolver.openInputStream(uri)?.use { inputStream ->
while (true) {
numBytesRead = inputStream.read(buffer)
// .. do stuff
}
}
Доступный в то время URI -> file: ///storage/emulated/0/Download/myFile.pdf
Однако я получаю исключение FileNotFoundException, но файл полностью существует.
Я установил все разрешения в манифесте и предоставил их при запуске приложения. С Android <= 9 работает правильно. Так что мне делать ...? </p>