Иногда фоновое задание выполняется, но сеть недоступна. Вот мой соответствующий код WorkManager:
Код: Выделить всё
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.setRequiresBatteryNotLow(true)
.build()
val repeatingRequest = PeriodicWorkRequestBuilder(20, TimeUnit.MINUTES)
.setConstraints(constraints)
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 1, TimeUnit.MINUTES)
.build()
Log.d("WorkManager", "Periodic Work request for sync is scheduled")
WorkManager.getInstance(this).enqueueUniquePeriodicWork(
RefreshDataWorker.SCHEDULED_WORK_NAME,
ExistingPeriodicWorkPolicy.UPDATE,
repeatingRequest)
Код: Выделить всё
WM-DelayedWorkTracker com.mypackage D Scheduling work da88277f-b68e-4ab4-90d3-08673582546c
WM-GreedyScheduler com.mypackage D Starting tracking for da88277f-b68e-4ab4-90d3-08673582546c
WM-ConstraintTracker com.mypackage D a: initial state = true
WM-BrdcstRcvrCnstrntTrc com.mypackage D a: registering receiver
WM-ConstraintTracker com.mypackage D i: initial state = NetworkState(isConnected=false, isValidated=false, isMetered=true, isNotRoaming=true)
WM-NetworkStateTracker com.mypackage D Registering network callback
WM-GreedyScheduler com.mypackage D Constraints not met: Cancelling work ID WorkGenerationalId(workSpecId=da88277f-b68e-4ab4-90d3-08673582546c, generation=408)
WM-NetworkStateTracker com.mypackage D Network capabilities changed: [ Transports: WIFI Capabilities: NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&VALIDATED&NOT_ROAMING&FOREGROUND&NOT_CONGESTED&NOT_SUSPENDED&NOT_VCN_MANAGED LinkUpBandwidth>=9728Kbps LinkDnBandwidth>=37063Kbps TransportInfo: SignalStrength: -53 UnderlyingNetworks: Null]
WM-GreedyScheduler com.mypackage D Constraints met: Scheduling work ID WorkGenerationalId(workSpecId=da88277f-b68e-4ab4-90d3-08673582546c, generation=408)
WM-Processor com.mypackage D e: processing WorkGenerationalId(workSpecId=da88277f-b68e-4ab4-90d3-08673582546c, generation=408)
WM-WorkerWrapper com.mypackage D Starting work for com.mypackage.work.RefreshDataWorker
RefreshDataWorker com.mypackage I No active network.
Repository com.mypackage E Failed to refresh data
Repository com.mypackage I Exception info: java.net.UnknownHostException: Unable to resolve host "": No address associated with hostname
Message: Unable to resolve host "": No address associated with hostname
Cause: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname) Class: class java.net.UnknownHostException
Подробнее здесь: https://stackoverflow.com/questions/796 ... uns-my-job
Мобильная версия