Ответ 1
Обычно вы используете bindService()
, если ваш вызывающий компонент (Activity
) должен связаться с Service
, который вы запускаете, через ServiceConnection
. Если вы не хотите общаться с Service
, вы можете использовать только startService()
. Вы можете видеть ниже разницу между сервисом и службой связывания.
Из документов:
Начало
Служба запускается, когда компонент приложения (например, действие) запускает его, вызывая startService(). После запуска служба может работать в фоновом режиме на неопределенный срок, даже если компонент, который начал ее, будет уничтожен. Обычно запущенная служба выполняет одну операцию, а не возвращает результат вызывающему. Например, он может загружать или загружать файл по сети. Когда операция завершена, служба должна остановиться.
Связано
Служба "привязана", когда компонент приложения связывается с ней, вызывая bindService(). Связанная служба предлагает интерфейс клиент-сервер, который позволяет компонентам взаимодействовать с сервисом, отправлять запросы, получать результаты и даже делать это через процессы с межпроцессорной связью (IPC). Связанная служба работает только до тех пор, пока к ней привязан другой компонент приложения. Несколько компонентов могут сразу связываться с сервисом, но когда все они отвязаны, служба уничтожается.
Вы можете прочитать здесь: Android-сервисы, Связанные службы