Всего есть три вида сервисов:
- Foreground
Foreground Service это сервис о котором осведомлен пользователь. Такие сервисы высвечивают уведомление в шторке уведомлений, с помощью которого пользователь может взаимодействовать с ними. Пример: сервис, который проигрывает музыку.
- Background
Такие сервисы не видны пользователю и об их существовании он может даже не догадываться. Например, какое-либо приложение может использовать такой сервис, чтобы обращаться с бекэнду, или же работать с файлами данного приложения.
- Bound
Данный вид сервисов предоставляет клиент-серверный интерфейс, который позволяет взаимодействовать с ними компонентам данного и даже другого приложения. Также такой вид сервисов позволяет выполнять сообщение между различными процессами. Чтобы сервис стал bound необходимо вызвать метод bindService() внутри какого-либо компонента. Такие сервисы имеют срок жизни такой же, как и у компонента, который их привязал. Несколько компонент могут привязаться к одному и тому же bound сервису, но как только все привязанные компоненты отвяжутся, либо будут уничтожены, данный сервис будет уничтожен.