Android DownloadManager和SSL(https)

时间:2011-11-12 17:25:23

标签: android ssl https download-manager

哦,太好了。总有一些东西...... Grrr ......

无论如何,所以我花了几天时间跋涉模糊,不完整和矛盾的Picasa信息,以便我的Android应用可以找到Picasa图片并使用下载管理器下载。所以刚才我做了最后的润色并点击了“运行”按钮。一切顺利,直到DownloadManager尝试下载文件:

java.lang.IllegalArgumentException: Can only download HTTP URIs: https://example.com/image.jpg
告诉我你在开玩笑。告诉我他们没有制作无法处理SSL的下载管理器......

更好的是,告诉我如何在Android下载管理器中启用SSL访问。

3 个答案:

答案 0 :(得分:7)

我之前遇到过同样的问题。是的,我看到HTTPS支持已经在ICS中,但在2.3.7及更低版本中没有,但是我们可以提取源代码来创建一个DownloadManager来支持它。

基于来自的示例代码 http://android-er.blogspot.com/2011/07/sample-code-using-androidappdownloadman.html 我使用解压缩的DownloadManager进行了演示以支持HTTPS。

您可以在https://github.com/alvinsj/android-https-downloadmanager-demo找到示例代码,只需将网址更改为基于https的网址即可运行。

答案 1 :(得分:1)

答案 2 :(得分:-3)

我找到了一个非常简单的解决方案:

request = new DownloadManager.Request(sourceUrl.replace("https://", "http://"))

令人惊讶地适用于我尝试过的所有https网址。我不确定https安全性,但没有例外,文件被正确下载。