Я пробую этот скрипт:
var myConstraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
val uploadInventorySyncWork = OneTimeWorkRequest.Builder(UploadInventorySyncWorker::class.java)
.setConstraints(myConstraints)
.addTag(UploadInventoryModel.ONE_TIME_TAG)
.build()
WorkManager.getInstance().enqueue(uploadInventorySyncWork)
WorkManager.getInstance().getWorkInfosByTagLiveData(UploadInventoryModel.ONE_TIME_TAG)
.observeForever { workStatus ->
if (workStatus != null) {
attempt+1
for (works in workStatus) {
Log.d("dodol34 no", attempt.toString() + " | " + works.state.toString())
if (works.state == WorkInfo.State.SUCCEEDED) {
}
}
}
}
он прекрасно работает в Android Oreo.но в андроидной нуге он всегда в состоянии ENQUEUED.Вот результаты LogCat (Android Nougat):
12-02 00:20:13.890 23118-23118/com.mockie.daikokuten D/dodol34 no: 1 | ENQUEUED
1 | ENQUEUED
1 | ENQUEUED
1 | ENQUEUED
1 | ENQUEUED
1 | ENQUEUED
1 | ENQUEUED
1 | ENQUEUED
нет ошибок вообще, иногда это работает, а иногда нет.