Java 如何使用WorkManager下载文件,即使应用程序被终止,也不必重新启动服务?

Java 如何使用WorkManager下载文件,即使应用程序被终止,也不必重新启动服务?,java,android,android-jetpack,Java,Android,Android Jetpack,当应用程序被终止时,我试图使用WorkManager下载一个文件,当应用程序位于前台时,它可以完全正常工作,但当应用程序被终止时,服务(WorkManager)会停止工作重新启动,文件再次开始下载。我想要实现的是类似于DownloadManagerApi的功能,但具有自定义通知,如显示进度,并从应用程序被终止的位置恢复下载,而不是重新启动服务。我已将WorkManager与OneTimeWorkRequest一起使用。我认为WorkManager不适合此要求。它最适合可以推迟的TAK。此外,一旦

当应用程序被终止时,我试图使用WorkManager下载一个文件,当应用程序位于前台时,它可以完全正常工作,但当应用程序被终止时,服务(WorkManager)会停止工作重新启动,文件再次开始下载。我想要实现的是类似于DownloadManagerApi的功能,但具有自定义通知,如显示进度,并从应用程序被终止的位置恢复下载,而不是重新启动服务。我已将WorkManager与OneTimeWorkRequest一起使用。

我认为WorkManager不适合此要求。它最适合可以推迟的TAK。此外,一旦不符合任何标准,工作将立即移除,并在符合标准后重新开始。我建议使用前台服务来实现此目的WorkManager不支持恢复下载。您不应该使用WorkManager下载文件来下载文件,因为worker的最大处理时间是10分钟,如果执行时间超过10分钟,将导致崩溃。使用
DownloadManager
-文档中说:“下载管理器将在后台进行下载,负责HTTP交互,并在出现故障或连接更改和系统重新启动后重试下载“使用前台服务使您的应用程序保持活动状态,即使您关闭了应用程序。在onStartCommand中,创建通知通道和通知以向用户显示更新,然后启动下载管理器下载数据。@Amit Kumar使用api 26或更高版本中的服务有限制。我想在所有设备上实现,即使应用程序被关闭,下载也应该从类似的状态继续