= File(uri.path), этот файл на, exists возвращает null, как исправить? В гугле ответа не нашел, разрешения получены
ha-ha, classic нет там никакого файла, читай данные через ContentResolver
мне нужен именно File
системе всё равно, что тебе нужно. Нет файла
Для чего? Если приложение не файловый менеджер то почти все можно через content resolver сделать
Если там "непрозрачный" ури типа content:dhfdfhhfd2455 то ни открыть ни создать файл с таким путем нельзя. Этот ури можно только открыть через контент провайдер как inputStream и выкачать из него байты. Если нужен File с его содержимым - создай временный файл сам и сохрани содержимое туда.
обычный Uri, просто есть модуль для обновления прошивки, вот мне и нужен File, данные я и так могу считать. До этого с файлами мало работал
а можешь скинуть ссылку, как это сделать, с ContentProvider почти не работал, нагуглить не получается
val parcelFileDescriptor: ParcelFileDescriptor = appContext.contentResolver.openFileDescriptor(uri, "r") val fileDescriptor: FileDescriptor = parcelFileDescriptor.fileDescriptor val inputStream = FileInputStream(fileDescriptor) дальше из инпутСтрима читаешь как обычно из файла, все байты запбрать и вывести в другой поток, который от созданного тобой File - и File вернуть
Обсуждают сегодня