Я пытаюсь заставить Samsung Galaxy Ace с Android общаться с Nokia N95 через Bluetooth.
Я написал приложение для стороны J2ME, которое прекрасно взаимодействует, используя 2 устройства symbian.
Я также создал версию для Android, которая очень хорошо взаимодействует между устройствами Android.
Инициирование соединения с J2ME на Android также работает.
Создание соединения с Android на J2ME вызывает у меня проблемы.
Сосредоточение внимания на проблеме: первая попытка подключения завершается неудачно с использованием createRfcommSocketToServiceRecord. Затем я пробую обходной путь, используя отражение и метод createRfcommSocket для канала 1, затем 2, затем 3, а затем 4, если они потерпят неудачу соответственно. В какой-то момент у меня будет соединение, и я смогу отправлять данные, но когда я пытаюсь получить, используя InputStream.read (), он просто зависает, поэтому я думаю, что соединение в J2ME каким-то образом не передается в мое приложение.
Итак, я создал тестовые приложения, чтобы увидеть, что не так в маленьком масштабе. N95 устанавливает прослушиватель с зашифрованным и аутентифицированным UUID, а приложение Android создает соединение с createRfcommSocketToServiceRecord. Это работает!
Я также могу запустить настоящее приложение Android и отправлять сообщения в тестовое приложение N95. Из этого опыта я сделал вывод, что ошибка должна заключаться в версии J2ME.
Мне интересно, есть ли у кого-нибудь советы о том, как отладить это.
Сейчас я комментирую код, собираю, отправляю приложение на телефон, устанавливаю, тестирую, повторяю.
Это очень утомительно и идет очень медленно, но у меня нет другого варианта для проверки этого.
Я также был бы признателен за понимание того, почему соединение createRfcommSocket не отвечает. Нужно ли что-то регистрировать на стороне J2ME?
Спасибо за ваше время.