web-dev-qa-db-ja.com

Android DownloadManagerとSSL(https)

それはいい。何か他のものが常にあります... Grrr ...

とにかく、ぼんやりとした不完全で矛盾したPicasa情報を何日もかけて調べて、AndroidアプリがPicasa画像を見つけて、ダウンロードマネージャーを使用してダウンロードできるようにしました。最後の仕上げとして「実行」ボタンを押します。DownloadManagerがファイルをダウンロードしようとするまで、すべて問題なく動作しました。

Java.lang.IllegalArgumentException: Can only download HTTP URIs: https://example.com/image.jpg

冗談だと言ってください。 SSLを処理できないダウンロードマネージャーを作成しなかったと言ってください...

さらに良いことに、AndroidダウンロードマネージャーでSSLアクセスをオンにする方法を教えてください。

18
Garret Wilson

以前も同じ問題がありました。はい、HTTPSサポートはすでにICSにありますが、2.3.7以下にはありませんが、ソースコードを抽出して、それをサポートするDownloadManagerを作成できます。

http://Android-er.blogspot.com/2011/07/sample-code-using-androidappdownloadman.html のサンプルコードに基づいて、HTTPSをサポートするために抽出されたDownloadManagerを使用してデモを作成しました。

サンプルコードはここにあります https://github.com/alvinsj/Android-https-downloadmanager-demo 、URLをhttpsベースのURLに変更するだけで実行できます。

7
alvinsj

はい、DownloadManagerHTTPプロトコルのみをサポートしているようです: 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 = 34

HTTPSサイトで使いたかっただけなので、私もがっかりしました。

1
Peter Knego