DownloadManager设置标题更改我的文件名

时间:2014-11-08 09:14:52

标签: android android-download-manager

我在我的应用程序中使用DownloadManager从Internet下载文件。 这是我的代码。

DownloadManager downloadManager = (DownloadManager) ui.activity.getSystemService(Activity.DOWNLOAD_SERVICE);
Uri Download_Uri = Uri.parse("http://dl.appvn.com/appvn.apk");
DownloadManager.Request request = new DownloadManager.Request(Download_Uri);


request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
                  .
request.setAllowedOverRoaming(false);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,"appvn.apk");

request.setTitle("AppStoreVN");

request.setDescription("Android Data download using DownloadManager.");

downloadManager.enqueue(request);

我使用了setTitle& setDescription更改通知栏上的信息显示。但它也改变了我的文件名,如title(“AppStoreVN”,而它应该是“appvn.apk”)。 有人有想法吗?感谢

3 个答案:

答案 0 :(得分:0)

我来到这里找到我认为同样的问题,当我在手机上查看“下载”应用程序时,我看到文件的标题而不是.apk

我发现如果我使用文件浏览器,虽然实际文件名是正确的,只是下载应用程序显示内容数据库详细信息,并且必须将标题设置为与通知标题相同。

如果它不解析文件,请查看logcat,因为文件创建的位置与我预期的不符。

答案 1 :(得分:0)

  

获取我使用的下载文件的名称:

String nameOfFile = URLUtil.guessFileName(mDownloadFileUrl, null,
                MimeTypeMap.getFileExtensionFromUrl(mDownloadFileUrl));
  

然后设置DownloadManager的标题和说明

request.setDescription(nameOfFile);
request.setTitle(nameOfFile);
  

然后在目录路径中设置下载文件的实际文件名

request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,
 /*here the name of file is set*/nameOfFile);

希望这能帮助你:)

答案 2 :(得分:-1)

您可以像下面一样设置目的地,您也可以在其中指定文件名。

setDestinationUri() 

setDestinationInExternalPublicDir("/mnt/sdcard/", "test.jpg");