我是android新手。我只是想将我的Android设备连接到PC并使用蓝牙将字符串传递给PC。我不知道该怎么做。 Android方面我读到了有关蓝牙API的内容。请建议我一些方法来做到这一点。提前谢谢。
答案 0 :(得分:1)
对于Android,我的代码与您的代码略有不同:
BluetoothSocket socket = Device.createRfcommSocketToServiceRecord(device_UUID);
socket.connect();
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.writeChar('x'); // for example
socket.close();
我使用DataOutputStream将数据发送到PC。但这肯定无关紧要,仅供参考。
对于PC,
LocalDevice localDevice = LocalDevice.getLocalDevice();
localDevice.setDiscoverable(DiscoveryAgent.GIAC); // Advertising the service
String url = "btspp://localhost:" + device_UUID + ";name=BlueToothServer";
StreamConnectionNotifier server = (StreamConnectionNotifier) Connector.open(url);
StreamConnection connection = server.acceptAndOpen(); // Wait until client connects
//=== At this point, two devices should be connected ===//
DataInputStream dis = connection.openDataInputStream();
char c;
while (true) {
c = dis.readChar();
if (c == 'x')
break;
}
connection.close();
我不确定上述代码今天是否仍然有效,因为这是在2年前完成的。 BlueCove API可能已经发生了很大变化。但无论如何,这些代码对我有用。希望这可以帮到你。
还有一点需要注意的是,我必须在我的电脑中卸载Toshiba蓝牙驱动程序并重新安装Microsoft软件才能使用BlueCove。否则,它将无法正常工作。 (但是,最新版本的BlueCove可能已经支持不同的驱动程序,如果我说错了,请纠正我。)
答案 1 :(得分:0)
澄清一下:在PC端,你通常有一个带有虚拟COM端口的蓝牙设备。出于测试目的,您可以使用任何终端程序(例如http://realterm.sourceforge.net/)。当您在虚拟蓝牙串行端口上启动并连接Android设备时,它将显示收到的数据。