Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
11 / 11 / 0
Регистрация: 13.10.2012
Сообщений: 163

Ошибка при добавлении файла в очередь загрузки (android.app.DownloadManager)

12.05.2014, 17:12. Показов 3376. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь загрузить файл с сервера, таким способом:
Java
1
2
3
4
5
6
7
8
9
public void download(Context context, String url)
    {
        String service=Context.DOWNLOAD_SERVICE;
        DownloadManager dm;
        dm=(DownloadManager) context.getSystemService(service);
        Uri uri=Uri.parse(url);
        DownloadManager.Request request=new Request(uri);
        Long reference=dm.enqueue(request);
    }
Реализация находится в отдельном классе (не в MainActivity.java).
Решил выявить источник ошибки (использовал вывод логов); на этапе добавления в очередь (dm.enqueue()) возникает ошибка (в AVD: "the application has stopped unexpectedly"). В чем может быть дело?

Добавлено через 13 минут
Вообще говоря, когда-где... Теперь возникает ошибка на этапе создания request'а.

Java
1
2
3
4
5
6
7
8
9
public void download2(Context context, String url)
    {
        String service=Context.DOWNLOAD_SERVICE;                    Log.d("LOG", "*Step1*");
        DownloadManager dm;                                         Log.d("LOG", "*Step2*");
        dm=(DownloadManager) context.getSystemService(service);     Log.d("LOG", "*Step3*");
        Uri uri=Uri.parse(url);                                     Log.d("LOG", "*Step4*");
        DownloadManager.Request request=new Request(uri);           Log.d("LOG", "*Step5*");
        Long reference=dm.enqueue(request);                         Log.d("LOG", "*Step6*");
    }
Тут лог:
Кликните здесь для просмотра всего текста
05-12 13:09:30.725: D/LOG(463): *Step1*
05-12 13:09:30.725: D/LOG(463): *Step2*
05-12 13:09:30.735: D/LOG(463): *Step3*
05-12 13:09:30.735: D/LOG(463): *Step4*
05-12 13:09:30.735: D/AndroidRuntime(463): Shutting down VM
05-12 13:09:30.735: W/dalvikvm(463): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-12 13:09:30.745: E/AndroidRuntime(463): FATAL EXCEPTION: main
05-12 13:09:30.745: E/AndroidRuntime(463): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.timetableetu/com.example.timetableetu.MainActivity}: java.lang.IllegalArgumentException: Can only download HTTP URIs: https://timetable-etu.googleco... ources.xls
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.ActivityThread.performLaunch Activity(ActivityThread.java:1647)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.ActivityThread.handleLaunchA ctivity(ActivityThread.java:1663)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.ActivityThread.access$1500(A ctivityThread.java:117)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.ActivityThread$H.handleMessa ge(ActivityThread.java:931)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.os.Handler.dispatchMessage(Handl er.java:99)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.os.Looper.loop(Looper.java:123)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.ActivityThread.main(Activity Thread.java:3683)
05-12 13:09:30.745: E/AndroidRuntime(463): at java.lang.reflect.Method.invokeNative(Na tive Method)
05-12 13:09:30.745: E/AndroidRuntime(463): at java.lang.reflect.Method.invoke(Method.j ava:507)
05-12 13:09:30.745: E/AndroidRuntime(463): at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:839)
05-12 13:09:30.745: E/AndroidRuntime(463): at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:597)
05-12 13:09:30.745: E/AndroidRuntime(463): at dalvik.system.NativeStart.main(Native Method)
05-12 13:09:30.745: E/AndroidRuntime(463): Caused by: java.lang.IllegalArgumentException: Can only download HTTP URIs: https://timetable-etu.googleco... ources.xls
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.DownloadManager$Request.<ini t>(DownloadManager.java:349)
05-12 13:09:30.745: E/AndroidRuntime(463): at com.example.timetableetu.DownloadFile.do wnload2(DownloadFile.java:52)
05-12 13:09:30.745: E/AndroidRuntime(463): at com.example.timetableetu.MainActivity.on Create(MainActivity.java:43)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.Instrumentation.callActivity OnCreate(Instrumentation.java:1047)
05-12 13:09:30.745: E/AndroidRuntime(463): at android.app.ActivityThread.performLaunch Activity(ActivityThread.java:1611)
05-12 13:09:30.745: E/AndroidRuntime(463): ... 11 more
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.05.2014, 17:12
Ответы с готовыми решениями:

Ошибка Unfortunately, App has stopped при понижении версии Android
Делал приложение изначально на эмуляторе API 27 с Android 7, всё работало нормально, потом начал тестировать другие версии и дойдя до API...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Ошибка при добавлении из файла в DataTable
class Program { static void Main(string args) { DataTable dt = new DataTable(); ...

6
 Аватар для Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
12.05.2014, 18:04
Can only download HTTP URIs
С https не загрузит.
0
11 / 11 / 0
Регистрация: 13.10.2012
Сообщений: 163
12.05.2014, 18:21  [ТС]
Цитата Сообщение от Netscape Посмотреть сообщение
Can only download HTTP URIs
С https не загрузит.
Заменил на http. Теперь следующее:
Кликните здесь для просмотра всего текста
05-12 14:20:03.102: D/LOG(363): *Step1*
05-12 14:20:03.102: D/LOG(363): *Step2*
05-12 14:20:03.102: D/LOG(363): *Step3*
05-12 14:20:03.102: D/LOG(363): *Step4*
05-12 14:20:03.102: D/LOG(363): *Step5*
05-12 14:20:03.112: D/AndroidRuntime(363): Shutting down VM
05-12 14:20:03.112: W/dalvikvm(363): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-12 14:20:03.132: E/AndroidRuntime(363): FATAL EXCEPTION: main
05-12 14:20:03.132: E/AndroidRuntime(363): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.timetableetu/com.example.timetableetu.MainActivity}: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.downloads.Download Provider from ProcessRecord{407a2860 363:com.example.timetableetu/10050} (pid=363, uid=10050) requires android.permission.ACCESS_ALL_DOWNLOADS or android.permission.ACCESS_ALL_DOWNLOADS
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread.performLaunch Activity(ActivityThread.java:1647)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread.handleLaunchA ctivity(ActivityThread.java:1663)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread.access$1500(A ctivityThread.java:117)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread$H.handleMessa ge(ActivityThread.java:931)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.os.Handler.dispatchMessage(Handl er.java:99)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.os.Looper.loop(Looper.java:123)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread.main(Activity Thread.java:3683)
05-12 14:20:03.132: E/AndroidRuntime(363): at java.lang.reflect.Method.invokeNative(Na tive Method)
05-12 14:20:03.132: E/AndroidRuntime(363): at java.lang.reflect.Method.invoke(Method.j ava:507)
05-12 14:20:03.132: E/AndroidRuntime(363): at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:839)
05-12 14:20:03.132: E/AndroidRuntime(363): at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:597)
05-12 14:20:03.132: E/AndroidRuntime(363): at dalvik.system.NativeStart.main(Native Method)
05-12 14:20:03.132: E/AndroidRuntime(363): Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.downloads.Download Provider from ProcessRecord{407a2860 363:com.example.timetableetu/10050} (pid=363, uid=10050) requires android.permission.ACCESS_ALL_DOWNLOADS or android.permission.ACCESS_ALL_DOWNLOADS
05-12 14:20:03.132: E/AndroidRuntime(363): at android.os.Parcel.readException(Parcel.j ava:1322)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.os.Parcel.readException(Parcel.j ava:1276)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityManagerProxy.getCont entProvider(ActivityManagerNative.java:1 882)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread.getProvider(A ctivityThread.java:3347)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread.acquireProvid er(ActivityThread.java:3372)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ContextImpl$ApplicationConte ntResolver.acquireProvider(ContextImpl.j ava:1648)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.content.ContentResolver.acquireP rovider(ContentResolver.java:748)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.content.ContentResolver.insert(C ontentResolver.java:598)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.DownloadManager.enqueue(Down loadManager.java:750)
05-12 14:20:03.132: E/AndroidRuntime(363): at com.example.timetableetu.DownloadFile.do wnload2(DownloadFile.java:53)
05-12 14:20:03.132: E/AndroidRuntime(363): at com.example.timetableetu.MainActivity.on Create(MainActivity.java:43)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.Instrumentation.callActivity OnCreate(Instrumentation.java:1047)
05-12 14:20:03.132: E/AndroidRuntime(363): at android.app.ActivityThread.performLaunch Activity(ActivityThread.java:1611)
05-12 14:20:03.132: E/AndroidRuntime(363): ... 11 more
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.05.2014, 18:51
yol, в манифест добавьте пермишн android.permission.ACCESS_ALL_DOWNLOADS
1
 Аватар для Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
12.05.2014, 18:54
Лучший ответ Сообщение было отмечено yol как решение

Решение

Манифест покажите.
Там должны быть пермишены:
XML
1
2
<uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
1
11 / 11 / 0
Регистрация: 13.10.2012
Сообщений: 163
12.05.2014, 19:17  [ТС]
Цитата Сообщение от Netscape Посмотреть сообщение
Манифест покажите.
Там должны быть пермишены:
Код XML
1
2
<uses-permission android:name="android.permission.INTERNE T" />
* <uses-permission android:name="android.permission.WRITE_E XTERNAL_STORAGE" />
Спасибо, заработало. Странно почему ни где не описывается, что следует заполнить манифест? И на будущее, где об этом можно узнать?
0
 Аватар для Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
12.05.2014, 19:45
Цитата Сообщение от yol Посмотреть сообщение
И на будущее, где об этом можно узнать?
Ну оно как-то с опытом приходит.
Или просто рассуждать логически:
собираемся что-то качать с интернета? ставь пермишн.
нужно что-то записать на флешку? ставь пермишн.

обычно в логах пишется, что нужно установить, но это не тот случай, потому что DownloadManager как-то коряво написан.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.05.2014, 19:45
Помогаю со студенческими работами здесь

Ошибка при добавлении файла в авторан
Доброго времени суток! Столкнулся я с проблемой: хочу добавить файл в автозагрузку, но не получается. CString FilePath =...

Ошибка при добавлении файла в ресурсы
Здравствуйте. Подскажите пожалуйста, что я делаю неправильно? Ошибки указаны в комментариях uses System.resources, graphABC,...

Ошибка 500 при добавлении файла
Здравствуйте. Есть код добавления изображения на сервер. Вот: &lt;?php ...

Ошибка при добавлении .apk файла в google play: запретите отладку
когда загружаю в guugle play .apk-файл, то гугл пишет ошибку: &quot;Прежде чем опубликовать APK-файл в Google Play, запретите его...

Ошибка при попытке загрузки файла
Задача состоит в том, чтобы по очереди загрузить файлы, введя их имена в консоль. #include &lt;fstream&gt; #include &lt;iostream&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru