WorkManager Уникальная работа не выполняется - PullRequest
1 голос
/ 10 апреля 2019

Я использую WorkManager версия 1.0.1.

Я создаю WorkRequest, используя этот код:

 Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build();
 Data data = new Data.Builder()
                                .putString(URL_KEY, url)
                                .putString(DATA_KEY, data)
                                .build();
 OneTimeWorkRequest sendWork = new OneTimeWorkRequest.Builder(SendWorker.class)
                                        .setConstraints(constraints)
                                        .setInputData(data)
                                        .addTag(SEND_WORK_TAG)
                                        .setBackoffCriteria(
                                                BackoffPolicy.EXPONENTIAL,
                                                30,
                                                TimeUnit.SECONDS)
                                        .build();

Когда я вызываю WorkManager.getInstance().enqueue(sendWork), работа выполняется просто отлично, но я хочу убедиться, что выполнение является последовательным, поэтому я попытался использовать

WorkManager.getInstance().enqueueUniqueWork(SENDING_WORK_NAME, ExistingWorkPolicy.APPEND, sendWork);

или, как предложено здесь ,

WorkManager.getInstance().beginUniqueWork(SENDING_WORK_NAME, ExistingWorkPolicy.APPEND, sendWork).enqueue();

но работа не выполняется. Почему?

P.S. также пытался добавить ноль или очень маленький setInitialDelay, но это не помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...