安卓下载管理器只能下载HTTP链接:

3

我正在尝试通过下载管理器下载文件,我的URL地址如下:

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

在Android 4.1.2或其他版本上正常工作,但在Android 2.3.3上会出现以下错误:

java.lang.IllegalArgumentException: Can only download HTTP URIs: https://dl.dropbox.com/s/jcy3ahcauj7gu...

at android.app.DownloadManager$Request.(DownloadManager.java:440)

1个回答

1
2019年11月更新:现在,minSdkVersion至少为API 19,本地DownloadManager应该可以很好地支持https,因此您不应该再遇到这个问题了。 在Android 2.x时代是不同的。 原始答案:URL中的https替换为http并不是一个解决方案,尽管经常建议这样做。没有保证以纯http提供相同的资源。
我发现最好的方法是通过将DownloadManager添加到您的源代码中来进行回溯。主要有两个类需要使用: DownloadManangerDownloads。您需要对源代码进行一些更改,例如更改包名称并直接使用DownloadManager的构造函数,而不是使用getSystemService(DOWNLOAD_SERVICE)
这样,您就可以在不影响旧设备的情况下获得功能。如果您想要,可以根据设备运行的Android版本有条件地决定是使用本机实现还是使用源代码提供的实现。
已经有人用略旧的版本做过了,可以查看他的github

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接