Проблема подключения устройств с низким энергопотреблением Bluetooth (BLE) к телефону Huawei

У нас есть одно приложение, которое осуществляет связь с аппаратными устройствами, такими как трекер активности, с использованием технологии Bluetooth Low Energy (BLE) .

Связь работает со всеми телефонами, которые поддерживают BLE, но когда мы пытаемся подключить трекер к телефонам Huawei, он просто не работает.

Поток как ниже:

  • Поиск приложения для трекера активности
  • Когда приложение находит трекер, оно вызывает метод подключения службы Bluetooth Gatt.
  • Трекер должен быть успешно подключен и должен дать ответ в методе "OnConnectionStateChanged()" со статусом 0 и состоянием 2 (успех) . Но проблема в том, что он не соединяется с трекером успешно. Когда приложение инициирует вызов соединения, оно немедленно выдает обратный вызов разъединения со статусом 133 (сбой Bluetooth Gatt) .

Ниже приведены журналы, которые показывают проблему:

I/Bluetooth: BtGatt.GattService:onConnected() - clientIf=6, connId=0, address=E6:4F:92:69:B7:95
I/Bluetooth: BluetoothProfileService:isAvailable(), mStartError=false, mCleaningUp=false
BluetoothGatt Check Status and NewState: 133|0
I/Bluetooth: BtGatt.GattService:clientDisconnect() - address=E6:4F:92:69:B7:95, connId=null

Мы также протестировали приложение "nRF Connect", и в этом приложении оно также дает обратный вызов отключения со статусом 133 (сбой Bluetooth Gatt) . Пожалуйста, найдите прикрепленный скриншот для того же.

введите описание изображения здесь

Если кто-то сталкивался с такой же ситуацией, не могли бы вы помочь нам?

1 ответ

Хотелось бы уточнить, ваше устройство поддерживает сопряжение? Вы используете Nordic SDK на вашем устройстве? Возможно, интервалы подключения слишком малы.

Телефоны Huawei печально известны своей ошибкой Bluetooth на устройствах BLE. Трекеры Garmin, FitBit и Nokia/Withings страдают от той же проблемы. Разработчикам Garmin удалось как-то обойти эту ошибку Huawei с помощью инженеров Huawei. https://support.garmin.com/en-US/?faq=3qBFoCgeH428IUUfc0SpZ7

Инженеры Fitbit и Withings не нашли время поговорить с Huawei, чтобы решить эту проблему. Похоже, что-то должно быть сделано по-другому на стороне клиента (некоторые тайм-ауты во время рукопожатия BT? Игнорирование сообщений об ошибках?)

Особенно P8Lite, P9Lite и P10Lite страдают от этой проблемы в версиях Android 6.x и 7.x. Может быть, Huawei что-то напортачил в этих версиях Android.

Другие вопросы по тегам