我正在制作一个我已充当Gatt服务器的应用程序。该服务器具有一些特征,我希望其他连接的电话能够订阅这些特征之一。我给了这个特征温度,下面的描述符:
private static final UUID descriptorUUID = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
temperatureDescriptor = new BluetoothGattDescriptor(descriptorUUID, PERMISSION_READ | PERMISSION_WRITE);
temperatureDescriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
并且当我更改特征值时,我也执行以下行:
bluetoothGattServer.notifyCharacteristicChanged(device, temperature, false);
但是,这并不能解决问题-其他设备表示已订阅并收到显示为“ @@”的通知,但是Gatt服务器此后似乎出现故障,并且完全停止工作。为了让其他设备正确订阅此特性,我需要做些什么吗?