0

我是安卓新手。我只是想将我的 Android 设备连接到 PC 并使用蓝牙将字符串传递给 PC。我不知道该怎么做。Android 方面我阅读了有关蓝牙 API 的信息。请建议我一些方法来做到这一点。提前致谢。

4

2 回答 2

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。不过这肯定没关系,仅供大家参考。

对于个人电脑,

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 可能发生了很大变化。但无论如何,这些代码对我有用。希望这可以帮助你。

还有一点需要注意的是,我必须在我的 PC 中卸载东芝蓝牙驱动程序并重新安装 Microsoft 驱动程序才能使用 BlueCove。否则,它将无法正常工作。(不过最新版的BlueCove可能已经支持不同的驱动了,如果说错了还请指正。)

作者:Victor Wong

于 2013-06-05T08:47:32.657 回答
0

澄清一下:在 PC 端,您通常有一个带有虚拟 COM 端口的蓝牙设备。出于测试目的,您可以使用任何终端程序(例如http://realterm.sourceforge.net/)。当您在虚拟蓝牙串口上启动它并连接您的 Android 设备时,它将显示接收到的数据。

于 2013-06-05T08:54:41.170 回答