2017-10-16 259 views
-3

我必須將至少兩個設備連接到一個Android設備。但我不知道如何連接多個連接和多個命令發送。 PLZ幫助我...我真的不知道....BLE - 連接多和寫特性多重

我只是可以連接一個BLE設備到一個Android設備。

首先,我在像例如,一個服務連接的兩個設備(相同的UUID,不同地址)

BluetoothDevice device = mBluetoothAdapter.getRemoteDevice("aa:12:12:33"); 
mGatt = device.connectGatt(mContext, false, mGattCallback); 

BluetoothDevice device = mBluetoothAdapter.getRemoteDevice("bb:18:66:44"); 
mGatt = device.connectGatt(mContext, false, mGattCallback); 

我可以聽的每個設備的動作(它們有一個按鈕),GattCallback的回調來自兩個設備的動作,但我無法將BluetoothGatt.writeCahracteristic發送給兩個設備。

+0

我真的研究了近兩週,但我不知道.. –

+0

你的問題是什麼?您只需在多個BluetoothDevice對象上執行connectGatt方法即可。 – Emil

+0

@Emil重寫我的文章。我無法一次向兩個設備發送writeCharacteristic ... –

回答

0

我不確定,但我解決了這個問題。在我嘗試使用一個服務(Android組件)之前,我使用了服務每個BLE設備。但我認爲這不是解決方案,因爲如果我需要更多的BLE設備,我應該準備最大的服務組件。

+0

您應該爲每個連接使用不同的BluetoothGattCallback對象。那麼你當然也應該將每個connectGatt返回的BluetoothGatt對象存儲在不同的變量中。 – Emil

+0

@Emil是的謝謝,在我的情況下,每個BluetoothService都有每個BluetoothGattCallback對象。感謝您的建議 –