4

サーバーから 2 つのファイルをダウンロードしたいのですが、1 つのファイルをキューに入れると、すべてがスムーズに進みます。2 つのファイルがあると、ダウンロード マネージャーがこの例外をスローします。

W/DownloadManager﹕ Exception for id 126: Http Range request failure: totalBytes = 5424932, bytes recvd so far: 5424932
java.lang.IllegalStateException: Http Range request failure: totalBytes = 5424932, bytes recvd so far: 5424932
        at com.android.providers.downloads.DownloadThread.handleOtherStatus(DownloadThread.java:735)
        at com.android.providers.downloads.DownloadThread.handleExceptionalStatus(DownloadThread.java:724)
        at com.android.providers.downloads.DownloadThread.executeDownload(DownloadThread.java:289)
        at com.android.providers.downloads.DownloadThread.run(DownloadThread.java:203)

これはファイルのダウンロードの最後に発生し、完了し、この例外をスローして外部ストレージに配置せず、2 番目のファイルが正常にダウンロードされます。

これは簡単なコードです: (URL は問題ありません)

  for (String url : urls)
    {
        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
        request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, parseFileNameFromURL(url));
        request.setVisibleInDownloadsUi(false);
        ((DownloadManager) getSystemService(DOWNLOAD_SERVICE)).enqueue(request);
    }
4

0 に答える 0