Документация по Android показывает, как запланировать WorkManager Worker программным способом так:
val uploadWorkRequest = OneTimeWorkRequestBuilder<UploadWorker>()
.build()
WorkManager.getInstance().enqueue(uploadWorkRequest)
Но как вы должны планировать это, когда пользователь нажимает на действие уведомления?
Например, это код для запуска IntentService , когда пользователь нажимает на действие уведомления:
class ApiCallService : IntentService("ApiCallService") {
// ...
}
val notificationBuilder = NotificationCompat.Builder(context,
NOTIFICATION_CHANNEL_ID)
val saveIntent = Intent(context, ApiCallService::class.java)
val savePendingIntent = PendingIntent.getBroadcast(context,
0, saveIntent, 0)
notificationBuilder.addAction(R.drawable.ic_done_white_24dp,
context.getString(R.string.save),
savePendingIntent)
Но вместо IntentService как предполагается ставить в очередь WorkManager Worker , когда пользователь нажимает на то же действие уведомления?