哦,太好了。总有一些东西...... Grrr ......
无论如何,所以我花了几天时间跋涉模糊,不完整和矛盾的Picasa信息,以便我的Android应用可以找到Picasa图片并使用下载管理器下载。所以刚才我做了最后的润色并点击了“运行”按钮。一切顺利,直到DownloadManager尝试下载文件:
java.lang.IllegalArgumentException: Can only download HTTP URIs: https://example.com/image.jpg
告诉我你在开玩笑。告诉我他们没有制作无法处理SSL的下载管理器......
更好的是,告诉我如何在Android下载管理器中启用SSL访问。
答案 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)
是的,似乎DownloadManager
仅支持HTTP
协议:http://www.google.com/codesearch#cZwlSNS7aEw/frameworks/base/core/java/android/app/DownloadManager.java&exact_package=android&q=Can%20only%20download%20HTTP%20URIs&type=cs&l=343
我也很失望,因为我只想在HTTPS网站上使用它。
答案 2 :(得分:-3)
我找到了一个非常简单的解决方案:
request = new DownloadManager.Request(sourceUrl.replace("https://", "http://"))
令人惊讶地适用于我尝试过的所有https网址。我不确定https安全性,但没有例外,文件被正确下载。