我試圖連接到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集成。