Если служба, к которой вы привязываетесь, работает в том же процессе, что и клиент (т. Е. Локальная служба), то нет практической причины для того, чтобы onServiceConnected не вызывалось, если bindService возвращает true.Если служба работает в удаленном процессе, то есть по крайней мере одно условие, которое вы должны обработать, даже если bindService возвращает true: если удаленный процесс завершится с ошибкой, вы получите onServiceDisconnected, а затем снова onServiceConnected, когда система перезапустит службуснова, и это может занять некоторое время.
Вы должны быть в состоянии доверять системе, что если bind вернет true и не будет выдано никаких исключений безопасности, вы должны получить onServiceConnected в течение разумного времени.