Проблемы с DownloadManager после обновления до SDK 26 - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть приложение 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 для компиляции приложения?

...