Java DownloadManager在再次连接到internet时进行多次相同的下载

Java DownloadManager在再次连接到internet时进行多次相同的下载,java,android,android-download-manager,Java,Android,Android Download Manager,我有一个地图点的数据源,在线时可以随时更新。不幸的是,当我最终将我的Android设备恢复到Wifi时,它似乎多次下载这个url。是否有更合适的方法来执行此操作或不时取消并重新创建此下载 @Override protected void onResume() { super.onResume(); mapView.onResume(); downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVI

我有一个地图点的数据源,在线时可以随时更新。不幸的是,当我最终将我的Android设备恢复到Wifi时,它似乎多次下载这个url。是否有更合适的方法来执行此操作或不时取消并重新创建此下载

@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);
}

改用
WorkManager


虽然您需要编写下载逻辑,但我相信WorkManager更适合您的需要。

这很好,但如果用户使用该应用程序,我只需要每隔一段时间下载一次。所以,当应用程序处于前台/恢复状态时,是有意义的。