我正在使用android.app.DownloadManager下载大文件-(大约700mb),在安卓电视- 7.1.1上。因此,当服务器以1mb/s的速度提供文件时,一切都很好。但是当速度是500kb/s时,我无法下载文件。几乎一半的文件都加载了状态为Running的文件,在DownloadManager给出状态失败后,原因是ERROR_CANNOT_RESUME。
我查看了内部源代码,发现android.provider.Downloads有来自489错误代码的STATUS_CANNOT_RESUME。

也没有太多关于到底发生了什么的信息。所以,如果你遇到同样的问题,请给我一些建议。
多1个时间-如果连接速度很快,应用程序可以正常工作。
发布于 2018-08-20 05:34:22
奇怪的是,它似乎与速度有关,以前从未见过/经历过这种情况。
您自己管理you服务器吗?
如果是这样的话,确保服务器发送一个带有报头的"Etag“。
Etag-info:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag
我目前从头开始在一个with服务器上工作,我已经用downloadmanager测试过不同的头场景。当达到99%而ETag不存在时,它似乎抛出了STATUS_CANNOT_RESUME。
我的Etag生成器是下载的文件的SHA1,这对它来说似乎很好。
https://stackoverflow.com/questions/51397732
复制相似问题