我花了一些時間研究Android與藍牙設備通信的能力,藍牙設備旨在通過PC上的藍牙COM端口進行通信。我一直無法找到明確的答案,所以我想我會在這裏問。我想確保這可能與Android。Android藍牙COM端口
我是藍牙通信的新手,但迄今爲止我所做的研究讓我感到RFCOMM有點像我想要的。不幸的是,我仍然無法證實這實際上是可能的。
任何幫助/資源將不勝感激。
我花了一些時間研究Android與藍牙設備通信的能力,藍牙設備旨在通過PC上的藍牙COM端口進行通信。我一直無法找到明確的答案,所以我想我會在這裏問。我想確保這可能與Android。Android藍牙COM端口
我是藍牙通信的新手,但迄今爲止我所做的研究讓我感到RFCOMM有點像我想要的。不幸的是,我仍然無法證實這實際上是可能的。
任何幫助/資源將不勝感激。
是的,Android可以連接到PC上的藍牙COM端口。我目前正在開發這樣的應用程序。下面是一個代碼示例(ITE需要藍牙權限TE在Manifest.xml文件中設置):
<uses-permission android:name="android.permission.BLUETOOTH" />
的Java:
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter == null) {
// Device does not support Bluetooth
finish(); //exit
}
if (!adapter.isEnabled()) {
//make sure the device's bluetooth is enabled
Intent enableBluetooth = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetooth, REQUEST_ENABLE_BT);
}
final UUID SERIAL_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); //UUID for serial connection
mac = "00:15:83:3D:0A:57"; //my laptop's mac adress
device = adapter.getRemoteDevice(mac); //get remote device by mac, we assume these two devices are already paired
// Get a BluetoothSocket to connect with the given BluetoothDevice
BluetoothSocket socket = null;
OutputStream out = null;
try {
socket = device.createRfcommSocketToServiceRecord(SERIAL_UUID);
} catch (IOException e) {}
try {
socket.connect();
out = socket.getOutputStream();
//now you can use out to send output via out.write
} catch (IOException e) {}
如果我需要處理使用BluetoothSocket在套接字上讀/寫的超時,那麼該怎麼辦?我正在開發一個使用您的方法進行連接的Android應用程序,但我仍然無法處理時間,這非常重要,因爲我的遠程藍牙設備有點特別。 – Sonhja
我曾經自己做過,但這裏描述的方法可能有所幫助:http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html和http://developer.android.com/reference/android/bluetooth/ BluetoothSocket.html#isConnected() – Konsalik
我試過你的代碼,但我有這個異常調用連接: java.io.IOException:讀取失敗,套接字可能關閉或超時,在android.bluetooth.BluetoothSocket讀取ret:-1。 readAll(BluetoothSocket.java:637) – devmao
它是如何設計,以通過藍牙串口通信? com端口在PC上,我假設的藍牙設備不是,而是連接到PC。 –
所以我並不完全確定,藍牙設備的指示說要通過藍牙COM端口進行配對。有什麼具體的我應該尋找?就像我說的,仍然試圖圍繞這個東西包裹我的頭。 –
只要嘗試編寫代碼來配對設備,看看會發生什麼。 –