任何人都可以帮助我在BLE设备上使用Write特性吗?我需要详细解释我正在阅读教程但我会更加困惑。请帮我。 现在我正在使用读取特性,我能够检查发送给我其他设备没有问题的通知。我现在需要的是能够从我的应用程序向其他设备发送信息;使我的设备可以充当服务器。 (BluetoothGattServer) 我正在使用android应用程序。
答案 0 :(得分:0)
基本上,您需要做的是实现onCharacteristicWriteRequest函数。然后在其中检查是否需要存储缓冲区以便稍后通过检查preparedWrite的值来组合它们。
然后,如果您需要稍后组合整个缓冲区,则需要存储缓冲区并了解顺序。然后当执行设置为true调用onExecuteWrite时,您将组合缓冲区,否则您将取消写入。
这里描述的逻辑的完整例子可以在我的github repo的BLEAdvertiserLollipop.java文件中找到。
答案 1 :(得分:0)
你可以在repo中找到writeCharacteristic的实现 基本上你必须在你的服务中实现它:
public void writeCharacteristic(BluetoothGattCharacteristic characteristic, byte[] value) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
characteristic.setValue(value);
}
然后从您的活动中调用它。