首先檢查你的外設模式是廣告特徵數據通常有三種模式
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