我正在尝试使用Android 下载管理器下载文件。根据文档:
下载管理器将在后台进行下载,处理 HTTP 交互并在失败或跨连接更改和系统重新启动后重试下载。
但是,在网络连接恢复后,下载管理器永远不会恢复下载(至少在我的情况下)。我什至尝试使用addRequestHeader()设置请求标头。但没有任何效果。我的代码如下:
Request request = new Request(Uri.parse(BASE_URL));
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI
| DownloadManager.Request.NETWORK_MOBILE);
request.setAllowedOverRoaming(false);
request.setTitle("Aarti Sangrah.zip");
request.setDestinationInExternalPublicDir(
Environment.DIRECTORY_DOWNLOADS, "Aarti Sangrah.zip");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.setNotificationVisibility(Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
} else {
request.setShowRunningNotification(true);
}
if (isResuming) {
request.addRequestHeader("Range", "bytes="
+ file.length());
}
enqueue = dm.enqueue(request);
在文档中,我找不到任何恢复下载的方法。另外,我有一个 BroadcastReceiver 用于监控网络变化。