我试图连接到RFID阅读器设备。我能够通过创建的BluetoothSocket,并呼吁将其连接如下面连接到它(许多细节省略):RFID在BluetoothSocket中获得串行连接
public static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID);
该作品不多预期,并且与设备的连接可以建立。
我的问题是,设备API被设计为与串行端口一起使用。为了使用API,我将它传递一个字符串,它看起来像这样:
String uri = "eapi:///com1";
Android不出现打开串口达到世界这样。在Linux上我希望能够能够用绳子连接,如:
String uri = "eapi:///dev/ttyS0";
通过手机上的/ dev目录展望显示这样的事。此外,当我建立连接时,/ dev中的条目不会改变。这使我相信,Android在连接到蓝牙设备时不会在/ dev中创建串行设备。
如何访问BluetoothSocket用来连接设备的com端口?在android上是否有像com1或/ dev/ttyS0这样的虚拟设备?
使用类RfcommSocket的API的老版本有一个getPort()和getFileDescriptor()方法可能会帮助我。目前的蓝牙套接字似乎隐藏了这些细节。
在此先感谢!
编辑: 事实证明,Android根本不会为串行流创建虚拟设备。相反,我直接将我的客户端代码与bluetoothsocket集成。