Как подключить несколько устройств BLE одновременно в приложении для Android

Я разрабатываю приложение для Android для работы с устройствами BLE. Мне нужно одновременно подключить два устройства BLE и одновременно читать/записывать характеристики, сервисы с/на устройство. Как я могу это сделать? Нужен ли отдельный экземпляр GATT и обратный вызов для каждого устройства? Как это сделать?


person Neetha    schedule 18.03.2019    source источник
comment
просмотрите stackoverflow.com/questions/21237093/   -  person Sahil    schedule 18.03.2019


Ответы (1)


Это очень просто. Просто запустите connectGatt один раз для каждого устройства, что даст вам один объект BluetoothGatt для каждого устройства. Объект обратного вызова может быть одним и тем же или отдельным экземпляром для каждого устройства, это зависит от вас, хотя я думаю, что проще, если у вас есть один экземпляр для каждого устройства.

person Emil    schedule 18.03.2019
comment
Я использовал адрес устройства для подключения этих двух устройств. Есть ли другой возможный способ? - person Neetha; 18.03.2019
comment
Как я могу одновременно читать/записывать характеристики - person Neetha; 18.03.2019
comment
Пока у вас есть объект BluetoothDevice, вы можете установить с ним соединение GATT. Вы можете получить его либо с помощью адреса устройства Bluetooth (что иногда может быть проблематично, поскольку API пропускает бит типа случайного/общедоступного адреса), либо путем сканирования. Вы можете иметь одну незавершенную операцию GATT за раз для каждого объекта BluetoothGatt, поэтому да, вы можете читать/записывать характеристики на оба устройства одновременно. Если ваш код не работает, не стесняйтесь опубликовать его и указать на свои проблемы. - person Emil; 18.03.2019