Johann
Johann

Reputation: 29867

Is using a WorkManager appropriate for long running network calls

In my app, the user can start a background process that makes long running API calls to the backend. The user will also have the ability to pause the background thread and resume at any point.

If the app restarts, the background process should resume from where it left off. Once the background process has completed, the process should terminate.

Even when the background process is running, if the user hits the device's home button, I still want the background process to keep running. It is not necessary for any UI to be shown while it is running.

Reading up on the Android docs, it would seem that using WorkManager is probably the best choice since my minSdkVersion is 19. Is this true?

Upvotes: 1

Views: 1284

Answers (1)

CommonsWare
CommonsWare

Reputation: 1006584

The process can run for hours

WorkManager work cannot run that long. You could still use WorkManager for the scheduling aspect, but then the "work" would need to be starting a foreground service, where the service then does the actual network I/O.

It is not necessary for any UI to be shown while it is running.

On Android 8.0+, you cannot have something running for hours without UI showing, at least in the form of a Notification associated with a foreground service.

Upvotes: 1

Related Questions