Проверяет понимание механизма привязки к сервису (bound service) и обмена данными.
bindService(Intent, ServiceConnection, flags) связывает клиент (Activity или другой компонент) с сервисом, вызывая в сервисе onBind(Intent) и возвращая IBinder для взаимодействия. unbindService(ServiceConnection) разрывает связь, и если нет других клиентов и сервис не был запущен через startService, он завершается.
bindService
Клиент: context.bindService(intent, connection, BIND_AUTO_CREATE)
Сервис: onBind(intent): IBinder? — возвращает мост для RPC.
ServiceConnection
onServiceConnected(name, binder) — получение IBinder.
onServiceDisconnected(name) — сбой соединения.
unbindService
Клиент вызывает context.unbindService(connection)
В сервисе, если нет клиентов и он не стартован, вызывается onDestroy().
Особенности
Можно одновременно bind и start.
BIND_AUTO_CREATE создаёт сервис автоматически.