2017-02-06 21 views
0

DownloadManagerを使用してHTTPリクエストをダウンロードすることができましたが、HTTPSでDownloadManagerをどのように使用できるかに関するドキュメンテーション/方法を見つけることができません。httpsでAndroidダウンロードマネージャを使用するには?

public long downloadFile(String fileUrl, String filename, String description, String token) { 
    Uri uri = Uri.parse(fileUrl); 
    DownloadManager.Request request = new DownloadManager.Request(uri); 
    if (!TextUtils.isEmpty(filename)) 
     request.setTitle(filename); 
    if (!TextUtils.isEmpty(description)) 
     request.setDescription(description); 

    request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, filename); 
    request.allowScanningByMediaScanner(); 
    request.setVisibleInDownloadsUi(true); 
    request.addRequestHeader("authorization", token); 
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 
    return mDownloadManager.enqueue(request); 
} 
+0

なぜHTTPとHTTPSのダウンロードに違いがあると思いますか? –

+0

ダウンロードマネージャにHTTPSリクエストを渡すと「認証パスの信頼アンカーが見つかりません。ダウンロードマネージャ」というエラーが表示されるためです。 –

+0

http:// stackoverflow.com/questions/8106155/android-downloadmanager-and-ssl-https' - 可能な複製 – Jadeye

答えて

0

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に変更するだけで表示されます。

+0

minSdkVersionは15、compileSdkVersionは23です。それは問題ではありませんか? –

関連する問題