Есть ли у класса Worker проблемы с выполнением класса интерфейса в методе doWork?
Есть ли у класса Worker проблемы с выполнением класса интерфейса в методе doWork?
Я использую Workmanager для выполнения динамически другой задачи с помощью интерфейса?
Я создаю класс Interface для использования в рабочем классе, например так:
> public interface TaskExecutor {
> public boolean execute(); }
и рабочий класс:
public class TestWorker extends Worker {
private TaskExecutor taskExecutor;
private String tag;
public TaskExecutor getTask() {
return taskExecutor;
}
public void setTask(TaskExecutor taskExecutor) {
this.taskExecutor = taskExecutor;
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
}
@NonNull
@Override
public Result doWork() {
return taskExecutor.execute() ? Result.SUCCESS : Result.FAILURE;
}
}
и когда попытаться выполнить WorkManager с этой реализацией, всегда ли интерфейс пуст? не могли бы вы мне помочь, пожалуйста?
TestWorker syncWorker = new TestWorker();
syncWorker.setTag(TAG);
syncWorker.setTask(task);
OneTimeWorkRequest taskdRequest =
new OneTimeWorkRequest.Builder(syncWorker.getClass())
.addTag(syncWorker.getTag())
.build();
workManager.enqueue(taskdRequest);