在做Android的蓝牙开发时,遇到扫描不成功的问题,日志如下:
06-01 15:45:14.166 3061-3756 /?E / bt_att:GATT_Register:无法注册GATT客户端,达到MAX客户端!
06-01 15:45:14.166 3061-3756 /?E / bt_btif:GATT寄存器失败,客户端,MAX接口达成!06-01 15:45:14.166 3061-3756 /?E / bt_att:GATT_Register:无法注册GATT客户端,达到MAX客户端!
06-01 15:45:14.166 3061-3756 /?E / bt_btif:GATT寄存器失败,客户端,MAX接口达成!
06-01 15:45:14.177 3061-3756 /?E / bt_btif:bta_gattc_deregister取消注册失败未知客户端cif
出现的原因是Android N版本改变了蓝牙扫描方式.30秒内开始和停止扫描不能超过五次。
我们已经改变了从DP4开始的BLE扫描行为。我们将阻止应用程序在30秒内启动和停止扫描超过5次。对于长时间运行的扫描,我们会将它们转换为机会扫描。
在业务上做出的改变是不再频繁地停止重新开始扫描。