Я хочу знать, почему это необходимо для того, чтобы связать сервис и выполнить подключение к нему?
Это не «необходимо».Это не означает, что произвольные альтернативы являются хорошей идеей.
Например, если все, что делает ваш сервис - это получает Location
, вы должны удалить сервис из вашего проекта и просто использовать LocationManager
напрямую, так какНеясно, какую ценность добавляет ваш сервис.Не создавайте сервисы только потому, что вас поразило настроение - имейте очень четкое представление о том, какие функциональные возможности предоставляет сервис и почему это должен быть сервис, а не просто метод где-то в операции.
Для реальных служб, которые выполняют реальные задачи, код службы должен выполняться - служба обычно не имеет статических элементов данных или методов, хотя можно.Чтобы запустить службу, нужно позвонить либо startService()
, либо bindService()
.В противном случае onCreate()
и род службы никогда не будут вызваны, точно так же, как onCreate()
и род деятельности никогда не будут вызваны, если действие не запущено.
Выбор, использовать ли startService()
(а позже stopService()
или stopSelf()
) или bindService()
(а позже unbindService()
) зависит от того, что делает служба, как долго она должна это делать и т. д.