Я пишу приложение для связи между моим смартфоном и компьютером с помощью устройства Bluetooth.Bluetooth Server Android - клиент Java Bluecove. UUID?
Я использую Bluecove для управления bluetooth на компьютере и API Android для моего устройства Android.
Однако, когда я отлаживаю, ничего не происходит. Я думаю, что проблема в том, что UUID ошибочен. Я не уверен, как заставить устройства идентифицировать друг друга, чтобы установить соединение.
Я прочитал некоторые другие "вопросы" о тех тегов, но то, что я пытался не исправить мою проблему:
Вот что я написал до сих пор:
Для Тхо андроида (Server) (Это функция, которая сделает подключение)
общественного недействительный connectSocket() { blueAdapter.cancelDiscovery(); // Отменить открытие, потому что это будет замедлять соединение
final BluetoothServerSocket serverSocket; BluetoothServerSocket sSocket= null; try{ sSocket = blueAdapter.listenUsingRfcommWithServiceRecord("BluetoothJANE", MY_UUID); }catch(IOException e){} serverSocket = sSocket; Thread acceptThread = new Thread(new Runnable() { @Override public void run() { BluetoothSocket socket = null; while(true){ try{ socket = serverSocket.accept(); }catch(IOException e){ break; } if(socket != null){ try{ iStream = socket.getInputStream(); oStream = socket.getOutputStream(); } catch(IOException e){} } } } }); acceptThread.start();
}
Для Java приложение на ПК (Это конструктор класса (это на независимой нити), который будет управлять Bluetooth соединение)
общественного ModuleBluetooth() {
StreamConnectionNotifier notifier = null; StreamConnection connection = null; try { blueDevice = LocalDevice.getLocalDevice(); blueDevice.setDiscoverable(DiscoveryAgent.GIAC); String url = "btspp://localhost:" + MY_UUID.toString() + ";name=RemoteBluetooth"; notifier = (StreamConnectionNotifier) Connector.open(url); } catch (BluetoothStateException e) { System.out .println("ModuleBluetooth: Error getting the bluetooth device"); } catch (IOException e) { } System.out.println("waiting for connection..."); try { connection = notifier.acceptAndOpen(); System.out.println("Conenction created"); } catch (IOException e) { System.out.println("Can not create the connection"); }
}
Может кто-нибудь, пожалуйста, помогите мне? Любые мысли были бы очень оценены.
Я также попытался использовать некоторые функции для получения UUID (в android), например [fetchUuidsWithSdp] [2] (и связанные функции), но eclipse не распознает эти функции (кажется, t существует в «моем» API).
Спасибо, я также прочитал эти страницы, но я пропустил предложение, в котором сказал, что код (на андроиде) был основан на примере BluetoothChat! Еще раз спасибо! Я так рад – Bardo91
Наконец-то я справляюсь с проблемой. Это было то, что в примере код JAVA действовал как сервер, как это делает андроид. Но мне нужно запрограммировать JAVA-код как клиента. Я использовал этот пример: http://www.miniware.net/mobile/articles/viewarticle.php?id=22 – Bardo91