Android Workmanager vs Kotlin Coroutines


There appears some confusion regarding the use of Android Workmanager and Kotlin Coroutines. What are the scenarios where they can be the best fit and when to use which?


From the Android documentation:

WorkManager is intended for tasks that require a guarantee that the system will run them even if the app exits, like uploading app data to a server. It is not intended for in-process background work that can safely be terminated if the app process goes away

Use coroutines for “in-process background work”.