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

问题描述 投票:4回答:3

我在我的应用程序中使用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”)。有人有想法吗?谢谢

android android-download-manager
3个回答
0
投票

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

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

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


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

希望这能帮到你:)


-1
投票

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

setDestinationUri() 

要么

setDestinationInExternalPublicDir("/mnt/sdcard/", "test.jpg");
© www.soinside.com 2019 - 2024. All rights reserved.