Search code examples
androidnetwork-programmingandroid-download-managerandroid-9.0-pie

Download Manager returns unsuccessful download on Android 9.0 NetworkSecurityConfig: No Network Security Config specified, using platform default


I am using Download Manager to download file from the internet. The download complete successfully in Android 6, 8.1, but not in Android 9.0

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("Downloading...");
request.setTitle(nameOfFile);
request.setMimeType("application/pdf");
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS + "/CPG", nameOfFile);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
queueId = manager.enqueue(request);

Solution

  • I found the solution through here: How to solve Android P DownloadManager stopping with "Cleartext HTTP traffic to 127.0.0.1 not permitted"?

    In short, I just need to do the following:

    1.create res/xml/network_security_config.xml, then add

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

    2. in manifest file, reference it inside application tag

    android:networkSecurityConfig="@xml/network_security_config"
    

    For more info, can read here: https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted