6

我想我有一个相当简单的问题。

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

我一直在关注上述网址中的教程。

如何更改下载的文件路径?

提前致谢

4

4 回答 4

21

您可以使用此类信息配置DownloadManager.Request对象。在本教程中,该Request对象是在onClick().

例如:

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");

(以上代码来自此示例项目

于 2012-06-06T00:19:26.777 回答
5

CommonsWare 答案的最后一行说明了目的地。他只是使用 sdcard 上的常规下载文件夹,但你也可以这样做:

req.setDestinationInExternalPublicDir("/mnt/sdcard/Myfolder", "file_name.extension");
于 2012-06-06T01:13:03.447 回答
2

您确保用户允许您的应用访问外部存储。包括此代码以供下载

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); 
于 2019-03-04T16:10:27.307 回答
0

您可以尝试执行以下操作:

  1. 访问 URL 了解下载管理器https://github.com/quoraboy/DownloadManagerInAndroid
  2. 据我了解,您无法手动暂停/恢复下载。
  3. 如果您取消下载,则完全取决于您的服务器是否支持暂停/恢复功能。如果是,那么在取消下载后,如果您再次开始下载,它实际上可能会恢复下载并且不会从头开始下载。
于 2021-01-05T10:15:26.920 回答