首先检查你的外设模式是广告特征数据通常有三种模式
BluetoothGattCharacteristic.PROPERTY_WRITE, BluetoothGattCharacteristic.PROPERTY_READ,
BluetoothGattCharacteristic.PROPERTY_NOTIFY;
,您可以使用
BluetoothGattCharacteristic.PROPERTY_WRITE |BluetoothGattCharacteristic.PROPERTY_READ | BluetoothGattCharacteristic.PROPERTY_NOTIFY;
为onCharacteristicWriteRequest一旦完成外观与所有模式打造特色( )在建立特性时给出的BluetoothGattServerCallback()中。当中央想要发送数据时,它可以使用WRITE模式将数据写入特征中,并且您将在外设端触发onCharacteristicWriteRequest()回调方法,并且您将在byte []中获得数据,并确保使用btGattServer.sendResponse(device, requestId,BluetoothGatt.GATT_SUCCESS,0,null); 通过检查回调方法中的responseNeeded布尔值。这样数据就从中央传输到外围。
,并从外围数据发送到中央使用通知charatertertistc
BluetoothGattCharacteristic bgc = bluetoothGattService
.getCharacteristic(chartersticUUID);
bgc.setValue(bnd.data);
btGattServer.notifyCharacteristicChanged(centralbluetoothdevice, bgc, false);
。
来源
2016-05-25 20:41:14
Tej
你有答案吗?我也试图连接2个Android设备,一个作为消费者,另一个作为数据生产者。 – 2015-10-13 06:12:17