我使用WorkManager代替AlarmManager,并且我想在运行时更新请求,因此我需要检索该请求。我该怎么办?
OneTimeWorkRequest request = new OneTimeWorkRequest.Builder(TripWorker.class)
.setInputData(dataBuilder.build())
.setInitialDelay(milliseconds, TimeUnit.MILLISECONDS)
.addTag("myTag")
.build();
workManager.enqueue(request);
您可以使用getWorkInfoByIdLiveData
或getWorkInfoByTagLiveData
。 WorkManager向每个enqueue()添加一个隐式标签,这是类的简单名称。因此,您可以执行以下操作:
workManager.getWorkInfosByTagLiveData(TripWorker.class.getName())