我们使用Android BLE代码连接到自定义硬件,并且对于大多数移动设备,这非常有效。但是,对于采用Android OS版本6.0.1的三星来说,在大多数情况下尝试连接并不成功。
尝试使用bluetoothDevice.connectGatt(context, false, gattCallback);
连接设备后出现此问题
在onConnectionStateChange
中收到回调gatt状态代码133,在这种情况下,应用程序执行的操作是关闭BluetoothGatt
的当前实例并再次连接到设备以获取新的BluetoothGatt
实例。这种解决方法有助于在几次重试后获得连接,但这绝对不是它应该如何工作的方式。
在做了一些BLE嗅探之后,显然该设备甚至没有尝试连接到外设,只是发出了一般的gatt错误(133)。有趣的是,这只是Marshmallow更新的一个主要问题,更具体地说是Android 6.0.1。
所以我的问题是,是否有人遇到与仅选定设备类似的连接问题,其中移动设备尝试连接到设备而是接收133 gatt状态代码?