Android Background Work

Implement WorkManager and background processing correctly on Android. Use when creating Worker classes, scheduling tasks, choosing between WorkManager and Foreground Services, or setting up Hilt in workers; defer FCM and notification delivery to android-notifications.

HoangNguyen0403 Updated 542 repo stars

File contents

Android Background Work Standards

Priority: P1 (HIGH)

Implementation Guidelines

WorkManager

  • CoroutineWorker: Use for all background tasks.
  • Constraints: explicit (Require Network, Charging).
  • Hilt: Use @HiltWorker for DI integration. Inject dependencies via @AssistedInject constructor; bind with HiltWorkerFactory in WorkManager configuration.

Foreground Services

  • Only When Necessary: Use generating visible notifications only for tasks user actively aware of (Playback, Calls, Active Navigation). Otherwise use WorkManager.

Anti-Patterns

  • No IntentService: Deprecated. Use WorkManager for all background tasks.
  • No Short Background Jobs: Use Coroutines in ViewModel scope instead.

References

  • Worker Template

HoangNguyen0403/agent-skills-standard/tree/main/skills/android/android-background-work commit ed6ddad327

Frequently asked questions

npx skillmds@latest add hoangnguyen0403/android-background-work