Java 如何让WorkManager始终在后台运行

Java 如何让WorkManager始终在后台运行,java,android,workmanagers,android-workmanager,Java,Android,Workmanagers,Android Workmanager,如何让WorkManager始终在后台运行,无论应用程序是否关闭/关闭/打开,它都应该始终运行。我在doWork方法中编写了代码,该方法检查数据库中的更改,并在数据库发生更改时发送通知。因此,它应该始终在bg中运行以检查更改。 那么我应该用什么来处理这个,OneTimeRequest或者PeriodicWorkRequest?另外,在我的Worker类中,我将Result设置为RETRY,即返回Result.RETRY,希望它能一直运行。 PS-我不希望WorkManager在任何状态/条件下都

如何让WorkManager始终在后台运行,无论应用程序是否关闭/关闭/打开,它都应该始终运行。我在
doWork
方法中编写了代码,该方法检查数据库中的更改,并在数据库发生更改时发送通知。因此,它应该始终在bg中运行以检查更改。 那么我应该用什么来处理这个,
OneTimeRequest
或者
PeriodicWorkRequest
?另外,在我的Worker类中,我将Result设置为
RETRY
,即
返回Result.RETRY,希望它能一直运行。
PS-我不希望WorkManager在任何状态/条件下都处于空闲状态。正确的做法应该是什么

如何让WorkManager始终在后台运行,无论应用程序是否关闭/关闭/打开,它都应该始终运行

你没有。这不是
WorkManager
的工作方式。当应用程序未运行时,它使用
JobScheduler
处理工作,
JobScheduler
作业不会连续运行


唯一与您想要的有点相似的是使用前台服务。

您的意思是,如果不手动触发,Work Manager将无法在系统后台自动执行。但是,一旦它从应用程序中触发,那么即使应用程序关闭/关闭,我也只会运行一次性执行,直到作业完成为止?@IamaStudent:“如果不手动触发,工作管理器将无法在系统后台自动执行”--已安排的定期工作将自动发生,但这段时间相当粗糙(至少15分钟)。@commonware,是的,这就是我要问的。。我如何检查正在运行的工作的状态,如果它没有运行,如何使其运行?@Mukesh work manager不会做你想做的事情。你应该使用一个将与系统一起加载的服务,否则你可以使用管理器安排一个作业,让该工人检查更改,然后在完成后安排另一个作业,等等(不建议使用此方法,除非您需要每隔15分钟左右检查一次更改)