Я использую DownloadManager для постановки в очередь некоторых загрузок, которые я делаю, но сталкиваюсь с этой проблемой, когда специально пытаюсь использовать соединение Mobile/4G. Я использую телефон Android 2.3.4. Мой код использует API 2.3.3.
Я делаю следующую команду (я хочу заставить соединение использовать 4G/3G)
request.setAllowedNetworkTypes(Request.NETWORK_MOBILE);
Однако всякий раз, когда он пытается загрузить, он помещает загрузку в список DownloadManager, но навсегда остается в статусе «Выполняется», а в верхней части отображается ошибка «Для загрузки требуется сеть».
Когда я продолжаю расследование и подключаю свое устройство для просмотра журналов в logcat, я вижу следующую ошибку при попытке загрузки:
Прерывание запроса на загрузку 92: запрошена загрузка, чтобы не использовать текущий тип сети
У меня есть следующие разрешения:
android.permission.WRITE_OWNER_DATA
android.permission.READ_OWNER_DATA
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_MULTICAST_STATE
android.permission.CHANGE_NETWORK_STATE
android.permission.CHANGE_WIFI_STATE
Есть идеи, что это может быть? Мне все еще не хватает разрешения? Есть ли другой параметр, который мне нужно контролировать, чтобы указать использование только сетевого подключения?
РЕДАКТИРОВАТЬ: я пробовал это на совершенно новом планшете Galaxy, и это поведение, которое я заметил при использовании этого устройства: когда Wi-Fi включен и подключен, он не загружается при указании использования NETWORK_MOBILE. Если Wi-Fi выключен или не подключен, у него нет проблем с использованием соединения 4G. Я думаю, что это функция безопасности, выполняемая устройством, можно ли ее переопределить?