в сторедж. На ведре использую путь для сохранения /storage/emulated/0/Download.
Ход действий:
- Нажимаю кнопку "Скачать"
- Предоставляю доступ к хранилищу(делаю запрос Permission.storage.request())
- успешно скачиваю файл
- Удаляю приложение и качаю заново(сам скачанный файл остается в папке Download)
- Нажимаю скачать тот же файл, что и в предыдущий раз(по тому же пути и с тем же именем)
- предоставляю доступ к хранилищу
- падает ошибка PathAccessException: Cannot open file, path = '/storage/emulated/0/Download/file.pdf' (OS Error: Permission denied, errno = 13)
Проблема связана с тем, что в папке Download остался скачанный файл с предыдущего раза
я не уверен, но возможно имя файла одинаковое
Есть у меня предположение Начиная с 11 ведра, если я пытаюсь сохранить в папке Download файл и там уже имеется такой с таким же именем(от другого приложения), то упадет ошибка, т.к. я не имею таких прав перезаписи. В моем случае я скачал файл, сохранил, удалил приложение. Затем заново установил приложение, нажимаю скачать тот же файл и падает ошибка. Получается, что предыдущий файл детектится, как файл другого приложения(при том, что приложение одно и тоже). Сейчас я использую Permission.storage, который является устаревшим способом получения доступа к хранилищу(вплоть до андроид 9 + 10е ведро с ключом android:requestLegacyExternalStorage="true"). Начиная с 11го ведра ввели новое разрешение Permission.MANAGE_EXTERNAL_STORAGE. Так что нужно юзать новый пермишн для получения полноценного доступа к стореджу и перезаписи файлов. Поправьте меня более образованные в данной теме, если я не прав
Андроид не ведро
почему не ведро?
А почему ведро?
не обижайся, я же любя с: Могу "ведрышко" называть👉👈
А почему ведроид?
старый логотип видел? Чисто мусорное ведро же
Потому что это древнее погоняло Андроида
Обсуждают сегодня