По сути, сервис позволяет запускать задачу, которая не привязана к одному жизненному циклу активности.
Например, вы можете воспроизводить музыку внутри одного действия, используя обычные объекты.Но если вы хотите, чтобы ваше приложение воспроизводило музыку и позволяло пользователям входить и выходить из всех ваших действий, вам нужна служба.
Если ваше приложение имеет несколько активностей и вы хотите, чтобы клиент чата все еще слушалсокеты (и я готов поспорить, что вы этого хотите), тогда вы должны написать сервис.
Если вы хотите, чтобы пользователи знали, что служба запущена, тогда ваша служба, ваша служба, должна перейти на передний план и разрешить взаимодействие через панель уведомлений.
Если вы хотите, чтобы ваши действия связывались с вашим сервисом, то вам следует связать свой сервис с вашими действиями .
И наконец, вы должны предоставить пользователям четкий способ остановить вашу службу , поскольку этот процесс больше не будет привязан к жизненному циклу вашего приложения, и вы должны явно вызывать его метод stop или вызывать stopService.или сделайте сервисный вызов stopSelf на себя.Затем предоставьте своим пользователям простой способ остановить службу.
Вам также понадобится powerlock и, скорее всего, wifi lock для вашей службы, чтобы онне останавливается, когда устройство переходит в спящий режим, и подключение к сети сохраняется для вашего сервиса, когда ваше приложение очищается с помощью Android.