Android Download Manager

前端 未结 4 1223
慢半拍i
慢半拍i 2021-02-06 13:29

I think i have a rather simple question.

http://www.vogella.com/blog/2011/06/14/android-downloadmanager-example/

I have been following a tutorial in the above ur

相关标签:
4条回答
  • 2021-02-06 13:29

    You can try to do following:

    1. Visit the URL to understand about Download Manager https://github.com/quoraboy/DownloadManagerInAndroid
    2. As far as I understand you can't pause/resume download manually.
    3. If you cancel the download then it totally depends on your server whether they support pause/resume feature or not. If yes then, after cancelling the download, if you start the download again it may actually resume it and don't start downloading from beginning.
    0 讨论(0)
  • 2021-02-06 13:30

    You make sure external storage access is permitted by user for your app. Include this code for the download

    DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
         Uri uri = Uri.parse(url_string);
         DownloadManager.Request request = new DownloadManager.Request(uri);        
         request.setVisibleInDownloadsUi(true);        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
        // include this line if permission has been granted by user to external directory
         request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, uri.getLastPathSegment());  
    // or this line if not yet granted
    request.setDestinationUri(Uri.parse("file://" + uri.getLastPathSegment());      
        Long reference = downloadManager.enqueue(request); 
    
    0 讨论(0)
  • 2021-02-06 13:45

    You configure the DownloadManager.Request object with that sort of information. In the tutorial, that Request object is created and used in onClick().

    For example:

    DownloadManager.Request req=new DownloadManager.Request(uri);
    
    req.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI
                                   | DownloadManager.Request.NETWORK_MOBILE)
       .setAllowedOverRoaming(false)
       .setTitle("Demo")
       .setDescription("Something useful. No, really.")
       .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,
                                          "test.mp4");
    

    (above code is from this sample project)

    0 讨论(0)
  • 2021-02-06 13:47

    The last line in CommonsWare's answer states the destination. He just uses the regular download-folder on the sdcard, but you could as well do this:

    req.setDestinationInExternalPublicDir("/mnt/sdcard/Myfolder", "file_name.extension");
    
    0 讨论(0)
提交回复
热议问题