华为手机的蓝牙低功耗(BLE)设备连接问题

时间:2018-07-06 05:14:44

标签: android bluetooth bluetooth-lowenergy android-bluetooth huawei

我们有一个应用程序可以使用低功耗蓝牙(BLE)技术与活动跟踪器等硬件设备进行通信。

该通信正在与所有支持BLE的电话一起使用,但是当我们尝试将跟踪器与华为电话连接时,它根本无法工作。

流程如下:

  • 应用搜索活动跟踪器
  • 应用找到跟踪器后,它会调用Bluetooth Gatt服务的connect方法。
  • 跟踪器应成功连接,并且应使用状态为0和状态2(成功)的“ OnConnectionStateChanged()”方法给出响应 。但是问题是,它没有与跟踪器成功连接。当应用启动连接调用时,它会立即以状态133(蓝牙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(蓝牙Gatt故障)的断开回调。请找到相同的附件屏幕截图。

enter image description here

如果有人遇到相同的情况,您能帮我们吗?

1 个答案:

答案 0 :(得分:0)

华为手机因BLE设备的蓝牙错误而臭名昭著。 Garmin,FitBit和Nokia / Withings活动跟踪器也遇到相同的问题。 Garmin开发人员已在华为工程师的帮助下设法解决了该华为错误。 https://support.garmin.com/en-US/?faq=3qBFoCgeH428IUUfc0SpZ7

Fitbit和Withings的工程师还没有与华为讨论解决问题。似乎在客户端需要做一些不同的事情(BT握手期间某些超时调整?忽略错误消息?)

尤其是P8Lite,P9Lite和P10Lite在Android 6.x和7.x版本中都遇到此问题。可能是华为在这些Android版本中搞砸了。