Android P, загрузка не начинается с помощью диспетчера загрузки? - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь загрузить файлы с помощью диспетчера загрузки, и загрузка, кажется, не начинается на Android P (работает на эмуляторе).Отлично работает на Android Oreo и Android Marshmallow.Вот код

DownloadManager.Request downloadRequest = new DownloadManager.Request(Uri.parse(URLS.URLforDownloadingFileData(fileName)));
        File file = new File(mobileInfo.getExternalFileStorageDirectory(),fileName);
        downloadRequest.setDestinationUri(Uri.fromFile(file));
        downloadRequest.setTitle(titleOfDownload);
        downloadRequest.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
        downloadManager.enqueue(downloadRequest);

Есть идеи, почему это может происходить и как решить эту проблему?Какое-то отношение к изменениям, представленным в Android P?

1 Ответ

0 голосов
/ 12 сентября 2018

Похоже, вы определили NetworkSecurityPolicy для загрузки URL-адреса хоста. Вы можете проверить это, создав XML res/xml/network_security_config.xml:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

А затем укажите этот файл в теге приложения внутри вашего AndroidManifest.xml:

android:networkSecurityConfig="@xml/network_security_config"

Если это работает - настоятельно рекомендуется разрешать трафик не для всех хостов, а только для необходимых.

...