FastBle
FastBle copied to clipboard
Android Bluetooth Low Energy (BLE) Fast Development Framework. It uses simple ways to filter, scan, connect, read ,write, notify, readRssi, setMTU, and multiConnection.
原因是 BluetoothGattCallback 中 onConnectionStateChange方法不会调用。 解决办法就是在 onConnectFail 里 connect. 另外感谢作者的开源。
1 加入蓝牙权限,安卓12以下后者安卓12以上 2 对代码的同步方法做出更多改进,一个蓝牙设备BleBluetooth,一个蓝牙连接器BleConnector,而不是每次发送数据都创建不同的蓝牙连接器
已知几个设备的mac地址 然后进行for循环去调用BleManager.getInstance().connect 方法, 但是中间一个设备没开启导致连接失败 后面的设备哪怕开启了 也会连接失败 请问下有解决办法吗
`bleManager.notify(bleDevice,BL2K_SERVICE,BL2K_CHARACTERISTIC,object : BleNotifyCallback() { override fun onNotifyFailure(exception: BleException?) { Log.d(TAG,"notifyDeviceState failure $exception") } override fun onNotifySuccess() { Log.d(TAG,"onNotifySuccess") _deviceState.postValue(DeviceState()) } override fun onCharacteristicChanged(data: ByteArray?) { Log.d(TAG, "onCharacteristicChanged----") data?.let { val...
https://github.com/Jasonchenlijian/FastBle/blob/c37ee367e24a6586aee9e184b31ee21c5c208a8c/FastBleLib/src/main/java/com/clj/fastble/bluetooth/BleConnector.java#L323 BluetoothGattCharacteristic.PROPERTY_NOTIFY的值大于0,位与操作后结果百分百大于0,这个条件必为true,写了白写。另外,enableIndicate为啥要检查PROPERTY_NOTIFY?不该检查PROPERTY_INDICATE么????
经大量测试 单纯的框架收发很强大,很及时。 但是在真实的环境中,比如大量蓝牙模块存在,还有app应用有模型渲染,有udp\tcp和其他设备通信,有N多线程或定时,有surface实时心电图,视频播放等等。并且这些情况有同时开启的业务需求。 如果上面的功能业务开启了部分或全部,因此会存在两个蓝牙通信问题 一是 蓝牙接收消息缓慢的问题。 比如模拟人短时间内发送了50条,app会一点点收,可能需要几秒甚至10来秒 二是 蓝牙接收会丢数据,没来50条消息,里面的数据是递增的,但是可能接收30来条,数据就少了。 以上问题,除了提供设备性能,想尽办法去减少app其他业务功能的性能消耗外。 从本框架中可以有什么手段吗?
主动断开连接后,再扫描,扫描不到任何设备。尝试连接上次已经连接到设备也连接不上,会出现timeout的异常
bt_stack: [INFO:btsnoop.cc(323)] clear_l2cap_whitelist: Clearing whitelist from l2cap channel. conn_handle=512 cid=4:4 11-26 19:06:02.139589 3058 3663 W bt_stack: [WARNING:bta_gattc_act.cc(1045)] bta_gattc_conn_cback: cif=3 connected=0 conn_id=0x0003 reason=0x0008 11-26 19:06:02.139705 3058 3663 W bt_stack: [WARNING:bta_gattc_act.cc(1045)] bta_gattc_conn_cback:...
Hi @Jasonchenlijian and @liaolintao, recently i face weird issue on samsung device operating android 11 and 12 OS. when i read or write command it will compare with key with...