Здравствуйте. Такая штука. Пытаюсь соединиться по Bluetooth с ардуино. Делаю так: в Main Activity при нажатии на кнопку вызываю сервис (в который передаётся адрес Arduino), в сервисе идёт основная часть подключения вплоть до clientSocket.connect();
Затем через Send Broadcast шлю результат подключения в MainActivity, если успешно, то запускаю Активити с кнопками "Send 1" и "Send 0". Но если нажать на них сразу (команда "BluetoothConnectionService.clientSocket.getOutputStream().write(msgBuffer)"), то выводится ошибка broken pipe. А если подождать немного, то работает. Как понять, почему оно так себя ведёт? По идее Активити с возможностью отправки данных должно открываться только после нормального завершения сервиса...
Может я что-то не учёл в этой логике?
Проверяй сокет на готовность