I was creating an android notification app which gives notification every 15 minutes after the alarm has been set.
it calls first time, and shows notification but workmanager not calling every 15 minutes.
val myWorkRequest = PeriodicWorkRequestBuilder<ReminderWorker>(15, TimeUnit.MINUTES).build()
WorkManager.getInstance(applicationContext)
.enqueueUniquePeriodicWork("work", ExistingPeriodicWorkPolicy.REPLACE, myWorkRequest)
After many days i found a solutions for periodic work manager Use time intervals of at least 1 hour. In document mentions minimum 15 minutes but it is not working don't why not mention in documents when i set 1 hours then it working.
fun scheduleNotificationRepeated() {
val constraints: Constraints = Constraints.Builder().apply {
setRequiredNetworkType(NetworkType.CONNECTED)
setRequiresBatteryNotLow(true)
}.build()
val request: PeriodicWorkRequest = PeriodicWorkRequest.Builder(
NotifyWork::class.java, 1, TimeUnit.HOURS, 1, TimeUnit.HOURS)
.setConstraints(constraints)
.setInitialDelay(2, TimeUnit.HOURS)
.setBackoffCriteria(BackoffPolicy.LINEAR, 1, TimeUnit.HOURS)
.build()
val instanceWorkManager = WorkManager.getInstance(this)
instanceWorkManager.enqueueUniquePeriodicWork(
"TAG_WORK_NAME",
ExistingPeriodicWorkPolicy.KEEP,
request
)
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With