Hello,各位:
我在用官方样例的时候, 当客户端有数据发过来的时候,onCharacteristicChanged 该回调方法不是会被调用吗?无论是三星 note3还是LG l70 我都试过,还是不行,我是有调用 setCharacteristicNotification 方法的,如下是我的代码:请教各位是否知道这是怎么回事?
public void setCharacteristicNotification ( BluetoothGattCharacteristic characteristic, boolean enabled) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
return;
}
mBluetoothGatt.setCharacteristicNotification(characteristic, enabled);
BluetoothGattDescriptor descriptor = characteristic.getDescriptor(CHARACTERISTIC_UPDATE_NOTIFICATION_DESCRIPTOR_UUID);
if (descriptor != null) {
descriptor.setValue(enabled ? BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE : new byte[] { 0x00, 0x00 });
descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
mBluetoothGatt.writeDescriptor(descriptor);
}
}
mai zi:
回复 Yan:
Yan,非常感谢你的解答,之前我调用的Characteristic 属性中不具备notification功能,所以即使设置了也没用,但是后来改用了具有notification功能的Characteristic,但还是不行,估计是模块那边禁用了此功能。