未执行WorkManager唯一工作

时间:2019-04-10 14:45:41

标签: android android-workmanager

我正在使用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);

,或者,如建议的here

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

,但工作尚未执行。为什么?

P.S。还尝试添加零或非常小的setInitialDelay,但这没有帮助。

0 个答案:

没有答案
相关问题