DownloadManager在再次连接到互联网时进行多次相同的下载

问题描述

我有一个地图点的数据源,该数据点可能在联机时会不时更新。不幸的是,当我最终将我的Android设备恢复为Wifi时,它似乎要多次下载此网址。是否有更合适的用途来执行此操作,或者不时取消并重新创建此下载?

@Override
protected void  onResume() {
    super.onResume();
    mapView.onResume();

    downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
    DownloadManager.Request request = new DownloadManager.Request(Uri.parse("https://url"));
    request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS,"filename");
    downloadJSONReference = downloadManager.enqueue(request);
}

解决方法

改为使用WorkManagerhttps://developer.android.com/topic/libraries/architecture/workmanager

尽管您需要编写下载逻辑,但我认为WorkManager更适合您的需求。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...