#android #android-notifications #android-download-manager
Вопрос:
Я использую следующее для загрузки файла с DownloadManager
:
DownloadManager downloadmanager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse("https://somedomain.com/myfile.jpg);
String filename = "myDownloadedFile.jpg";
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setTitle(filename);
request.setDescription("Downloading");
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,"myAppName/".concat(filename));
downloadmanager.enqueue(request);
Это идеально загрузит файл и сохранит его в правильном подкаталоге загрузок.
Однако, когда я нажимаю на Download Manager
уведомление «Загрузка завершена» (в котором отображается правильное имя файла и «Загрузка завершена»), открывающийся файл открывается откуда-то еще и имеет числовое имя файла. Согласно файловому менеджеру ES, файл открывается из /document/1234
(номер меняется при каждой загрузке) — это место, которое я даже не могу найти на своем устройстве!
Как я могу получить щелчок уведомления, чтобы открыть файл с того места, где он был действительно сохранен (т. Е. Downloads/myAppName/myDownloadedFile.jpg
)?
Чтобы объяснить подробнее для @blackapp:
Если я нажму на уведомление, правильное загруженное изображение откроется в любом приложении, которое я выберу (например, я использую браузер изображений ES), но если я посмотрю свойства файла (в браузере изображений ES), там будет указано местоположение файла /document/1234
.
Файл, однако, правильно сохраняется в DownloadsmyAppNamemyDownloadedFile.jpg
приведенном выше коде — я подтвердил это, перейдя в Downloads/myAppName/
папку на моем устройстве.
В уведомлении правильно отображается загруженное имя myDownLoadedFile.jpg
файла, но когда я щелкаю уведомление, это не имя открывающегося файла.
Комментарии:
1. Нет, не из /документа/1234, а из содержимого://<поставщик>/документ/1234.
2. Я хочу, чтобы уведомление открывало файл из
Downloads/myAppName/myDownloadedFile.jpg
.3. Вы никак не отреагировали на то, что я сказал вам о том, что вы называете местоположением. Почему нет??? Какое приложение показывает неправильный файл? И как ES Explorer должен узнать этот файл? Пожалуйста, расскажите всю историю целиком.
4. Я добавил дополнительные пояснения в конец вопроса, так как комментарии слишком короткие. Ваш комментарий сам по себе не имел для меня никакого смысла, так как он, казалось, только объяснял, что расположение открытого файла в браузере изображений ES было неполным. Это не объясняет, как получить щелчок уведомления, чтобы открыть файл из поддира загрузки.
5.
(in ES Image Browser) it say that the file location is /document/1234.
Тогда вам следует прочитать дальше, как я уже говорил вам, что это не местоположение, а часть схемы контента://. Вам лучше не использовать этот плохой браузер изображений es Explorer, так как это единственный мусор и чепуха, которым вы учитесь у него. Возьмите лучшее приложение.