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

5
我们有一个应用程序,使用低功耗蓝牙(BLE)技术与硬件设备(如活动追踪器)进行通信。
在所有支持BLE的手机上,通信都能正常工作,但是当我们尝试将追踪器与华为手机连接时,它根本无法正常工作。
流程如下:
- 应用程序搜索活动追踪器 - 当应用程序找到追踪器时,它会调用Bluetooth Gatt服务的connect方法。 - 追踪器应该成功连接,并在“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
你测试过哪些型号的手机不能用?你尝试过重新启动手机吗? - Emil
我们正在使用华为P8 Lite设备。我们尝试重新启动手机,但没有起作用。 - Aanal Shah
在这里看到了同样的问题。有时我们的BLE设备甚至在BLE扫描期间都没有显示出来。如果有人能够提供从应用程序开发者方面可以做些什么的想法,那就太好了。 - Mike T
1个回答

0
华为手机以其与BLE设备的蓝牙错误而臭名昭著。Garmin、FitBit和Nokia/Withings活动追踪器也遭受同样的问题。Garmin开发人员已经设法通过华为工程师的帮助绕过了这个华为错误。 https://support.garmin.com/en-US/?faq=3qBFoCgeH428IUUfc0SpZ7 Fitbit和Withings的工程师还没有找到与华为解决这个问题的方法。似乎在客户端需要做一些不同的事情(在蓝牙握手期间进行超时调整?忽略错误消息?) 尤其是P8Lite、P9Lite和P10Lite在Android 6.x和7.x版本中遭受这个问题的困扰。可能是华为在这些Android版本中弄砸了什么。

你从哪里得到Garmin得到华为帮助的信息?或者你是否有任何想法/联系人可以在除了一般的华为支持之外开始解决这个问题。非常感谢您的帮助。 - Mike T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接