我用 Java 开发了一个 Android 应用程序,可以连接到 BLE 设备并接收流消息。在我的 API 级别为 33 的手机上,一切正常,并且 onCharacteristicChanged 回调按预期由流字节触发。但是,当我在其他手机和平板电脑上测试该应用程序时,不会触发 onCharacteristicChanged。
是否并非所有设备或 API 级别都支持 onCharacteristicChanged? 什么可能导致 onCharacteristicChanged 在某些设备上不被触发? 我该如何解决这个问题?
谢谢你!
我将函数调用更改为:
public void onCharacteristicChanged(@NonNull BluetoothGatt gatt, @NonNull BluetoothGattCharacteristic characteristic, @NonNull byte[] value) {}
至:
public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) {}
现在它可以在不同的设备上运行了!