Android ble蓝牙4.0开发遇到的问题及解决方法

第一次进行android ble完整的通信开发,遇到了很多问题,但经过努力,把这些问题基本一一解决了,在这边记录下出现问题和对应的解决思路,供以后开发和大家参考。

1、蓝牙传送数据报文长的问题

由于ble蓝牙一次只能发送20字节报文,如果需要超过20字节的报文,就需要采用分包机制分两包或多包收发。

2、开发中出现app端同时向蓝牙服务端设备发送多个接口请求的问题

由于问题1的需求,多包请求报文导致同时调用多个接口时,蓝牙服务端收到多接口调用报文穿插的情况。而android设备底层没有实现蓝牙报文的同步机制。针对这个问题,就需要app层自己实现蓝牙操作的同步机制。具体的解决思路是先把android蓝牙api封装成蓝牙库,在蓝牙库中建立同步队列,把所有的蓝牙操作封装为队列消息加入队列,消息处理端则依次取出每一个蓝牙消息进行处理。这样就做到了蓝牙操作的同步化,使蓝牙服务端不会收到混乱的包。

3、开发中需要频繁的进行连接,断开再重连的操作,遇到很多操作上的问题

你可能感兴趣的:(Android,ble蓝牙4.0)