在您的应用程序中,如果您使用HID特征进行BLE通信并且无法在Android设备上重新启用通知,则可能需要手动启用通知。这可以通过添加以下代码行来完成:
BluetoothGattCharacteristic char = mBluetoothGatt.getService(UUID.fromString(serviceUuid)) .getCharacteristic(UUID.fromString(characteristicUuid));
char.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT); mBluetoothGatt.setCharacteristicNotification(char, true); BluetoothGattDescriptor descriptor = char.getDescriptor(UUID.fromString(CLIENT_CHARACTERISTIC_CONFIG)); descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); mBluetoothGatt.writeDescriptor(descriptor);
这些行可以通过尝试订阅HID报告的特征后,使用BluetoothGatt和BluetoothGattCharacteristic来启用通知。设置操作完成后,您应该在onCharacteristicChanged回调中收到通知。