首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有更好的方法连接到Android中的多个BLE设备?

有没有更好的方法连接到Android中的多个BLE设备?
EN

Stack Overflow用户
提问于 2014-11-05 10:13:51
回答 2查看 1K关注 0票数 0

我正在BLE (蓝牙)的Android上工作。我已经通过谷歌找到了信息。看起来,Android可以通过使用多个BluetoothGatt连接到multiple BLE device,如下面的伪代码。

我有多个BLE设备,。我认为我需要首先定义多个BluetoothGatt参数。

代码语言:javascript
复制
private BluetoothGatt mBluetoothGattA = null, 
     mBluetoothGattB = null , mBluetoothGattC = null;

第一个BLE设备连接。

代码语言:javascript
复制
final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address_A);
mBluetoothGattA = device.connectGatt(this, false, mGattCallback);

尝试连接到第二个BLE设备。

代码语言:javascript
复制
final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address_B);
mBluetoothGattB = device.connectGatt(this, false, mGattCallback);

我说的对吗?如果我连接到6个BLE设备,是否应该定义6个BluetoothGatt参数?

是否有一种智能的方式连接到多个BLE设备?

EN

回答 2

Stack Overflow用户

发布于 2017-11-23 15:02:17

不是必要的多个BluetoothGattCallback。意外地,我用相同的BluetoothGattCallback连接两个BLE设备,工作正常。

在BluetoothGattCallback中,您必须知道发送数据的设备的地址。

例如,您可以使用:

代码语言:javascript
复制
gatt.getDevice().getAddress();

希望能帮上忙

票数 1
EN

Stack Overflow用户

发布于 2015-09-29 20:38:44

您将通过为每个BluetoothGattCallback创建每个BLE设备(现在最多7)来处理每个BLE设备。例如:

代码语言:javascript
复制
private final BluetoothGattCallback oneGattcallback = new BluetoothGattCallback() ... 

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

然后试着像这样连接mBluetoothGattA = deviceA.connectGatt(this, false, oneGattcallback );mBluetoothGattB = deviceB.connectGatt(this, false, twoGattcallback );。你会发现很多例子处理一个连接,只需要为多个连接开发更多。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26754534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档