4

With Android 11, file storage has become a bit of a mess to understand. I've been banging my head against a wall, looking through dozens of questions on SO, for the past day trying to download a simple mp4 to the device, but nothing's working.

Here's what I have:

File file = new File(StorageUtils.getSharePath(context), "1.mp4");

Uri uri = Uri.parse(url);
DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
request.setTitle("Downloading a file");
request.setVisibleInDownloadsUi(true);
request.setDestinationUri(Uri.fromFile(file));
videoDownloadId = downloadManager.enqueue(request);

And here is my StorageUtils class:

public class StorageUtils {

    public static String getAbsolutePath(Context context) {
        return context.getExternalFilesDir(null).getAbsolutePath();
    }

    public static String getSharePath(Context context) {
        String path = getAbsolutePath(context);
        File dir = new File(path, "shares");

        if (!dir.exists()) dir.mkdirs();

        return dir.getAbsolutePath();
    }

}

I have no idea if it's downloading and I can't see any files in the shares directory that I've created. What am I doing wrong?

user1695123
  • 103
  • 1
  • 14

0 Answers0