Bluetooth4.3 读取特征字值的问题

来源:互联网 发布:数据库里配置怎么打开 编辑:程序博客网 时间:2024/05/01 01:59

主要是在BluetoothLeService中的setCharaceristicNotification中添加红线框方法:
        原因:
         因为特征字有以下几个特征属性:
         read,notify,indicate
  一个特征字可以有一个值和多个描述,同时一个描述里面又可以有多个对应的描写,所以我猜想,硬件可能为了一个特征字能传多个值,所以把值写在了描述里面,
而这个在IOS上是可以不用修改就可以读取的,但是在Android上则要加方法才可以读取。
       如果是read,则它在回调方法onCharacteristicRead里边是可以读到的,
      但是如果为notify,或indicate则要添加一个描述,因为它的值在描述里面。

二,然后在BluetoothGattCallback回调中重写onDescriptorRead()方法:如下,因为这个是从描述里面读取数据的。




三,注意:

获取BluetoothGattDescriptor 的方法,它是传一个UUID,这个UUID它不是我们的特征字UUID,
它是客户端特征字配置文件的一个UUID,它是一个固定值 ,google官方给的是:
public static String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-8000-00805f9b34fb";

以上就可以了。













1 0
原创粉丝点击