Как уже упоминалось в комментариях выше, очистка кэша диспетчера загрузки и данных решает эту проблему на Android 9 Pie. Чтобы очистить эти настройки, вам нужно перейти на Apps & notifications
, щелкнуть опцию на See all apps
, нажать меню параметров в правом верхнем углу, выбрать Show system
, выбрать Download Manager
из списка, нажать на Storage
, затем очистите кеш и хранилище.
При устранении этой проблемы я обнаружил, что при попытке использовать DownloadManager для загрузки файла в общедоступный каталог в журнал было записано следующее предупреждение, если использовалось общедоступное местоположение для загрузки:
DownloadManager: Path appears to be invalid: /storage/emulated/0/Download/File Name
Эта ошибка появляется независимо от того, имеет ли приложение разрешение на хранение. Однако это ложное предупреждение, которое регистрируется isFilenameValidInExternalPackage()
( исходный код ) при проверке, находится ли файл за пределами каталога приложения и выполняется ли приложение, даже если приложение имеет разрешение на хранение. Таким образом, это ложное предупреждение продолжает появляться даже после очистки кэша и хранилища DownloadManager, хотя загрузка все равно работает.
Редактировать: эта проблема периодически повторяется. Как правило, принудительная остановка Download Manager разрешает ее временно. Надеюсь, Google выпустит постоянное исправление.