У меня есть Android-устройство (версия ОС 9), в котором есть SIM-карта, позволяющая подключаться к серверу компании, но больше ничего.Поэтому, когда SIM-карта подключена, устройство показывает, что мобильное соединение для передачи данных доступно, но нет Интернета.
Мне нужно разработать приложение, которое должно загружать некоторые файлы с сервера компании.
Вот моя первая попытка, я думаю, это довольно общий код:
public void downloadFile(Context ctxt, String url, String destinationPath)
{
String fileName = url.substring(url.lastIndexOf('/')+1);
String destinationFileAbsolutePath = destinationPath + fileName;
final Uri uri = Uri.parse("file://" + destinationFileAbsolutePath);
File file = new File(destinationFileAbsolutePath);
if (file.exists())
file.delete();
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
request.setTitle(fileName);
request.setDestinationUri(uri);
final DownloadManager manager = (DownloadManager) ctxt.getSystemService(ctxt.DOWNLOAD_SERVICE);
final long downloadId = manager.enqueue(request);
}
Этот код работает, когда у меня есть соединение WiFi.Однако мне нужно, чтобы это работало, когда доступны только мобильные данные.Однако DownloadManager не начинает загрузку с указанного URL-адреса, пока у меня нет подключения к Интернету.
Я знаю, что я пытаюсь сделать это возможно, потому что когда я вставляю URL-адрес загрузки в браузерное приложение, такое как Chrome, оно загружается безпроблема.
Можно ли добиться этого с помощью стандартного Android DownloadManagerClass
Я прочитал документ, проиграл с некоторыми флагами, но безрезультатно.
Заранее спасибо