通过一段时间的蓝牙ble开发,记录所发生的问题如下;
1、进入App首页后,直接通过设备mac进行配对连接,很大几率上出现无法配对的问题;
经过测试,发现如果不直接连接,而是先进行扫描再去连接,则基本上能够正常配对连接;
2、自动配对功能也会影响配对的成功率;
目前只能先取消自动配对功能,但之后可能需要,暂时没找到两全其美的方法;
3、133异常
从理论上来说,当蓝牙mBluetoothGatt资源没有释放,或者蓝牙连接达到最大数量限制时出现此异常,但除此之外,还有极少数情况下会出现此异常,原因不明;
4、129异常
一般而言,当设备信号不稳定时会出现此异常;
5、137异常
此异常的发现源于一次意外,当某个设备和手机进行连接时,能够正常配对连接和找到服务,但一旦进行命令读写时,就会出现配对被手机系统删掉,同时onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status)返回137错误码的情况,而用nRF Connect进行调试时却并无异常。
经过测试,发现当找到服务后立刻进行命令的读写操作时便会出现此异常,而如果等待两三秒后再去进行读写,则一切正常。猜测是因为读写命令时设备内部还未初始化完成所导致的。而奇怪的是,只有此设备和此手机连接才会出现此问题,其他同型号的手机则一切正常。此手机型号为:
型号:HUAWEI MT7-CL00
安卓版本:4.4.2
系统版本号:EMUI系统3.0
其他尚未解决问题:
当手机熄屏进入后台时,蓝牙无法正常扫描;