2013-10-31 112 views
0

我正在開發藍牙4.0。如何連接藍牙低功耗服務器?

我想在標籤(服務器)發送數據時接收數據。

標籤發送數據時不保存數據。

我希望下面的源

使用
private BluetoothGattServerCallback mGattServerCallbacks = new BluetoothGattServerCallback() { 
    @Override 
    public void onCharacteristicWriteRequest(BluetoothDevice device, int requestId, 
      BluetoothGattCharacteristic characteristic, boolean preparedWrite, boolean responseNeeded, int offset, 
      byte[] value) { 
} 

mGattServerCallbacks conntect mBluetoothManager.openGattServer(this, mGattServerCallbacks); 

回答

0

你的問題是有點模糊,但它聽起來像你對我要的是GATT服務器通知或指示[1]。如果你連接到一個設備(這個標籤服務器)並且你想從這個設備接收數據時有數據要發送,那麼你要做的是指示(確認發送)或通知(未確認)這個數據。

從您的Android應用程序中,您可以在連接的設備上啓用給定特性的通知,並且每次更改特性時都會將數據推送給您。

這通常會用於溫度服務。只要傳感器上的測量溫度發生變化,通知就會以新值發送到連接的設備。

[1] http://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic,布爾值)