Я пытаюсь выполнять простую работу каждые 10 секунд, используя WorkManager.Он отлично работает, когда приложение работает в фоновом режиме или на переднем плане.Когда я закрою приложение (закрою приложение), работа больше не будет вызываться.
Я вызываю приведенный ниже код при создании MainActivity
fun scheduleNotification(context: Context) {
val workRequest = OneTimeWorkRequest.Builder(NotificationWorker::class.java).setInitialDelay(10000, TimeUnit.MILLISECONDS)
WorkManager.getInstance().enqueueUniqueWork("NotificationWorker", ExistingWorkPolicy.REPLACE, workRequest.build())
Log.d("NotificationWorker", "start")
}
Класс Worker
class NotificationWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
override fun doWork(): Result {
Log.d("NotificationWorker", "Working")
NotificationUtil.scheduleNotification(applicationContext) // n times
return Result.success()
}
}
Этот код хорошо работает, когда мое приложение не закрывается.
Как я могу заставить его работать, даже когда приложение было закрыто?