话不多说,
我在使用notify模式的时候, 出现了一个问题, 我打开notify成功了,但是write的时候返回false, 百般纠结也找不到问题所在,后来我看到一个报错信息, 是我之前增加的“高精度模式设置”,代码如下:
代码语言:javascript复制 /**
* 设置高精度
* @param priority
*/
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void requestConnectionPriority(int priority){
if (mBluetoothGatt != null) {
boolean requestConnectionPriority = mBluetoothGatt.requestConnectionPriority(priority);
Log.e("setHight"," requestConnectionPriority : " requestConnectionPriority);
}
}
当时心情本来就烦躁,那管你什么高精度与否了, 直接注释了, 再运行就好了, 莫名其妙的错误,我也不知道为什么,但是这样做就是可以运行的。
还有一个重要的点!
代码语言:javascript复制当你开启成功时, 那么必须,必须要延时之后再去发送指令,
延时的时间可以根据具体情况调整, 建议先设置一个长一点的, 比如2~3秒,先跑通,之后再慢慢调。
大家注意。