Android DownloadManager正在中止下载请求123:http错误206

Android DownloadManager正在中止下载请求123:http错误206,android,http-headers,android-download-manager,Android,Http Headers,Android Download Manager,我正在尝试使用DownloadManager下载以下文件: 代码如下所示: DownloadManager.Request request = new DownloadManager.Request(Uri.parse(asset.url)); request.setDescription(""); request.setTitle(asset.name); request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWN

我正在尝试使用DownloadManager下载以下文件:

代码如下所示:

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(asset.url));
request.setDescription("");
request.setTitle(asset.name);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "test");
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
下载管理器始终无法下载文件,并显示以下错误消息:

中止下载请求123:http错误206

因为206意味着部分内容,这总是需要我添加的http请求中的一个范围

 request.addRequestHeader("Range", "bytes=0-1000");
下载前1000个字节,但错误消息保持不变,未下载任何内容:(

编辑当我在Android 4.2设备上运行相同的代码时,我会收到以下消息:

10-09 21:22:41.461:I/DownloadManager(2379):下载231开始 10-09 21:22:41.692:W/DownloadManager(2379):中止下载请求231:预期正常,但收到部分请求 10-09 21:22:41.712:I/DownloadManager(2379):下载231已完成,状态为无法继续


如果android下载管理器认为它正在恢复先前的下载,它似乎会处理206 resume响应。否则,它将假定响应无效。 通过addRequestHeader插入的显式范围请求将不起作用

以下是4.3.1的下载线程代码:

我打开了你的链接,它返回了一个代码200。我不明白为什么会自动返回206。谢谢你的尝试。你是否尝试使用DownloadManager?顺便说一句。如果我尝试使用所述的HttpURLConnection下载文件,它会正常工作。但是为了更好的用户体验,我希望使用DownloadManager。