Я пытаюсь заставить работать API-интерфейсы Bluetooth для Android и столкнулся со странной проблемой. У меня есть одно устройство (Samsung Nexus S) в качестве клиента, вызывающее socket.connect (), а другое устройство (также Samsung Nexus S), вызывающее serverSocket.accept () (после обнаружения устройства создаю сокеты с помощью createInsecureRfcommSocketToServiceRecord и listenInsecure. ..).
Я помещаю отладочные операторы после connect (), и я вижу, что connect () успешно возвращается (потому что это вызовет исключение, если это не так). Тем не менее, вызов accept () на другом конце просто блокирует, и в конечном итоге время ожидания.
Есть идеи, что может вызвать это? Насколько я могу судить, сокет подключается, но мой процесс не информируется.
UPDATE:
Проявление ошибки было немного загадочным, но я вполне уверен, что я неправильно обрабатывал потоки, и это каким-то образом препятствовало разблокировке запущенного потока accept ().