2014-11-05 58 views
0

我正在AndroidBLE(藍牙)上工作。我通過Google找到了信息。看起來Android可以通過使用多個BluetoothGatt連接到multiple BLE device像下面的僞代碼。有更好的方式連接到Android中的多個BLE設備嗎?

我有多個BLE設備。我想我需要首先定義多個BluetoothGatt參數。

private BluetoothGatt mBluetoothGattA = null, 
    mBluetoothGattB = null , mBluetoothGattC = null; 

第一個BLE設備連接。

final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address_A); 
mBluetoothGattA = device.connectGatt(this, false, mGattCallback); 

嘗試連接到第二個BLE設備。

final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address_B); 
mBluetoothGattB = device.connectGatt(this, false, mGattCallback); 

對嗎?如果我連接到6個BLE設備,我應該定義6個BluetoothGatt參數嗎?

是否有智能的方式連接到多個BLE設備?

回答

0

您將通過爲每個BLE設備創建每個BluetoothGattCallback(現在最多7個)來處理每個BLE設備。例如像:

private final BluetoothGattCallback oneGattcallback = new BluetoothGattCallback() ... 

private final BluetoothGattCallback twoGattcallback = new BluetoothGattCallback() ...

然後嘗試連接 mBluetoothGattA = deviceA.connectGatt(this, false, oneGattcallback);mBluetoothGattB = deviceB.connectGatt(this, false, twoGattcallback);就這樣。你會發現很多例子處理一個連接,並且爲了多重連接而開發更多的例子。

0

不需要多個BluetoothGattCallback。偶然地,我使用相同的BluetoothGattCallback連接兩個BLE設備,並且工作正常。

在BluetoothGattCallback中,您必須知道發送數據的設備的地址。

例如,你可以使用:

gatt.getDevice().getAddress(); 

希望這有助於

相關問題