在BLE设备上写入特征?

时间:2015-09-09 15:01:43

标签: android bluetooth-lowenergy

任何人都可以帮助我在BLE设备上使用Write特性吗?我需要详细解释我正在阅读教程但我会更加困惑。请帮我。 现在我正在使用读取特性,我能够检查发送给我其他设备没有问题的通知。我现在需要的是能够从我的应用程序向其他设备发送信息;使我的设备可以充当服务器。 (BluetoothGattServer) 我正在使用android应用程序。

2 个答案:

答案 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);
    }

然后从您的活动中调用它。