Есть ли у класса 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);

0 ответов

Другие вопросы по тегам