Android下载管理器只能下载HTTP URI:

问题描述 投票:2回答:1

好,我正在尝试通过下载管理器下载文件,我的网址地址开始为:

https://dl.dropbox.com ...

在android 4.1.2或其他版本上工作正常。但它在android 2.3.3和此日志猫上给出了错误]

java.lang.IllegalArgumentException:只能下载HTTP URI:https://dl.dropbox.com/s/jcy3ahcauj7gu ...

在android.app.DownloadManager $ Request。(DownloadManager.java:440)

android android-download-manager
1个回答
1
投票

2019年11月更新:如今,minSdkVersion至少为API 19,就不应该出现此问题,原生DownloadManager应该支持https就可以了。这与Android 2.x时代不同。

原始答案:

https中的http替换为URL不是通常建议的解决方案。 不保证相同的资源以纯文本http形式提供。

我发现最好的是,通过将DownloadManager添加到您的源中来进行反向移植。您主要需要两个类:DownloadManangerDownloads。您将需要对源代码进行一些更改,例如更改程序包名称并直接使用DownloadManager的构造函数,而不是使用getSystemService(DOWNLOAD_SERVICE)

这样,您可以在不损害旧设备的情况下获得功能。如果需要,可以根据设备所运行的Android版本有条件地决定是使用本机实现还是源代码中提供的实现。

某人已经使用较旧的版本执行此操作,请检查他的github

© www.soinside.com 2019 - 2024. All rights reserved.