Android BLE onCharacteristicChanged 回调未在不同设备上触发

问题描述 投票:0回答:1

我用 Java 开发了一个 Android 应用程序,可以连接到 BLE 设备并接收流消息。在我的 API 级别为 33 的手机上,一切正常,并且 onCharacteristicChanged 回调按预期由流字节触发。但是,当我在其他手机和平板电脑上测试该应用程序时,不会触发 onCharacteristicChanged。

是否并非所有设备或 API 级别都支持 onCharacteristicChanged? 什么可能导致 onCharacteristicChanged 在某些设备上不被触发? 我该如何解决这个问题?

谢谢你!

android bluetooth-lowenergy android-bluetooth bluetooth-gatt android-ble
1个回答
0
投票

我将函数调用更改为:

public void onCharacteristicChanged(@NonNull BluetoothGatt gatt, @NonNull BluetoothGattCharacteristic characteristic, @NonNull byte[] value) {}

至:

public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) {}

现在它可以在不同的设备上运行了!

© www.soinside.com 2019 - 2024. All rights reserved.