У меня есть приложение Android, которое использует DownloadManager для загрузки базы данных.
И после обновления нашего приложения до SDK 26 у нас начались проблемы с загрузкой базы данных.
Мыпользователи начали говорить нам, что они не могут загрузить базу данных.Кажется, что загрузка никогда не начинается.Это происходит с пользователями с Android 7, 8 или 9.
Мы не можем повторить это в наших терминалах или симуляторах.
В нашем манифесте у нас есть следующие разрешения:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
И код, который мы используем для запуска загрузки, таков:
private DownloadManager mgr = null;
private long lastDownload = -1L;
...
Uri uri = Uri.parse("http://server.com/file.zip");
final String nombreFicheroDestino = "myfile" + System.currentTimeMillis() + ".zip";
lastDownload = mgr.enqueue(new DownloadManager.Request(uri)
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle(getResources().getString(R.string.ID_0000_app_name))
.setDescription(getResources().getString(R.string.ID_1200_descarga_bd))
.setDestinationInExternalPublicDir(VersionManager.getInstallationDirectory(DownloadActivity.this), nombreFicheroDestino));
Перед всем этим мы просим у пользователя разрешения на хранениеи мы только начинаем загрузку, если пользователь предоставил нам разрешение на хранение для нашего приложения.
Странно то, что только у нескольких пользователей возникают проблемы с загрузкой базы данных, и мы не можем ее реплицировать.
Что-то не так в нашем коде?
У кого-нибудь начались проблемы с DownloadManager после обновления до SDK 26 для компиляции приложения?