与华为手机的蓝牙低功耗(BLE)设备连接问题[关闭]
Posted
技术标签:
【中文标题】与华为手机的蓝牙低功耗(BLE)设备连接问题[关闭]【英文标题】:Bluetooth Low Energy (BLE) devices connection issue with Huawei Phone [closed] 【发布时间】:2018-07-06 05:14:43 【问题描述】:我们有一个应用程序使用蓝牙低功耗 (BLE) 技术与硬件设备(如活动跟踪器)进行通信。
所有支持 BLE 的手机都可以通信,但是当我们尝试将追踪器与华为手机连接时,它根本不起作用。
流程如下:
应用搜索活动跟踪器 当app找到tracker后,调用蓝牙Gatt服务的connect方法。 跟踪器应该连接成功,它应该在“OnConnectionStateChanged()”方法中响应状态0和状态2(成功) .但问题是,它没有成功连接到跟踪器。当应用发起连接调用时,它立即给出状态为 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 故障)的断开回调。请在附件中找到相同的屏幕截图。
如果有人遇到同样的情况,你能帮助我们吗?
【问题讨论】:
您究竟测试过哪些手机型号不起作用?你试过重启手机吗? 我们使用的是华为 P8 lite 设备。我们尝试重新启动手机,但没有成功。 在这里看到的一样。有时我们的 BLE 设备甚至在 BLE 扫描期间都没有出现。如果有人知道应用程序开发人员可以做什么,那就太好了。 【参考方案1】:华为手机因带有 BLE 设备的蓝牙漏洞而臭名昭著。 Garmin、FitBit 和诺基亚/Withings 活动追踪器也存在同样的问题。 Garmin 开发人员在华为工程师的帮助下设法以某种方式解决了这个华为错误。 https://support.garmin.com/en-US/?faq=3qBFoCgeH428IUUfc0SpZ7
Fitbit 和 Withings 的工程师还没有来得及与华为讨论解决问题。似乎需要在客户端做一些不同的事情(BT握手期间的一些超时调整?忽略错误消息?)
尤其是 P8Lite、P9Lite 和 P10Lite 在 android 6.x 和 7.x 版本中存在此问题。可能是华为在这些 Android 版本中搞砸了。
【讨论】:
你从哪里得到的信息,Garmin 得到了华为的帮助?或者,除了华为的一般支持之外,您是否有任何想法/联系方式来解决该问题。任何帮助表示赞赏。以上是关于与华为手机的蓝牙低功耗(BLE)设备连接问题[关闭]的主要内容,如果未能解决你的问题,请参考以下文章