美文网首页
Android 关于蓝牙BLE引发Gatt133的问题

Android 关于蓝牙BLE引发Gatt133的问题

作者: Kliven1 | 来源:发表于2020-12-02 18:52 被阅读0次

    最近开发蓝牙,在蓝牙建立连接的时候出现了以下错误:

    onConnectFail:ConnectException{gattStatus=133, bluetoothGatt=android.bluetooth.BluetoothGatt@c6068f6} BleException { code=101, description='Gatt Exception Occurred! '}

    nRF测试也是可以正常连接的,但就是手机不行。

    如果你也是这个错误请往下看:

    场景:高频率的断开/连接

    非所有手机都会出现这个问题,我再开发中三星手机是必现的,而且出现以后需要重新开关蓝牙,如果次数出现过多的话就需要重启手机。

    尝试过方法:

    https://github.com/Jasonchenlijian/FastBle/issues/168

    https://github.com/Jasonchenlijian/FastBle/issues/226

    如果上面的方法都不能解决,且你的使用场景跟我一样,那么试试下面的方法。

    最后经过大量测试和日志分析,我给disconnect以后重新打开scan之间增加了延时处理。我这里给了1500ms,在connectFail的时候再做一次disconnect(bleDevice); 问题得到解决。

    我理解的是在调用disconnect的时候后,清理缓存断连等操作系统底层会有一些耗时的动作 ,如果立即再次 连接的话就会出问题 ,如果有清楚原理的还请留言交流。

    相关文章

      网友评论

          本文标题:Android 关于蓝牙BLE引发Gatt133的问题

          本文链接:https://www.haomeiwen.com/subject/xauuwktx.html