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