Android BLE, read and write characteristics

前端 未结 2 1820
一生所求
一生所求 2020-12-04 15:37

I am currently developing Android BLE, and encounters a lot of problems with the Android BLE stacks..

My development tool is Samsung Galaxy J with Android 4.3.

相关标签:
2条回答
  • 2020-12-04 16:09

    Before setValue:characteristics.setValue(data) you should use gatt.setCharacteristicNotification(Char,true) to setNotification.

    0 讨论(0)
  • 2020-12-04 16:10

    Each of the callback from the Android BLE has its functions;

    onDescriptorRead and onDescriptorWrite

    This is used to write/read the configuration settings for the BLE device, some manufactures might require to send some data to the BLE device and acknowledge it by reading, before you can connect to the BLE device

    onCharacteristicWrite

    This is used to send data to the BLE device, usually in data mode for the BLE device. This callback is called when you type

    gatt.writeCharacteristic(characteristics);
    

    onCharacteristicRead

    This is used to read data from the BLE device The callback is called when you write this code

    gatt.readCharacteristic(characteristics);
    

    onCharacteristicChanged

    This callback is called when you are trying to send data using writeCharacteristic(characteristics) and the BLE device responds with some value.

    Usually a BLE device has few characteristics, to make it simple, I name a few characteristics

    • WRITE - write Characteristics
    • READ - read Characteristics

    To make it clear, when you send data, you will need to use WRITE characteristics and then when the BLE device responds Android app will call READ characteristics

    A very important point to note is Android BLE stack allows you to write characteristics one at a time only!!

    Example: IF you try to call write characteristics twice at a same time

    gatt.writeCharacteristic(characteristics);
    gatt.writeCharacteristic(characteristics);
    

    The Android BLE stack will not issue the 2nd write characteristics!

    0 讨论(0)
提交回复
热议问题