wdmxzf 2017-03-20 03:26 采纳率: 0%
浏览 1885

Android 5.0 以上,onCharacteristicChanged不回调

我有个蓝牙设备,在Android4.3系统上onCharacteristicChanged回调成功而且可以读取数据
,但是在5.0 以上的机器上onCharacteristicChanged 不回调;onCharacteristicWrite和onCharacteristicRead都成功了。
这是为什么呢?

  • 写回答

1条回答 默认 最新

  • Mr康 2017-03-20 07:02
    关注

    1、在创建某个特征值A时,一定记得设置该特征值为PROPERTY_NOTIFY;例如:如下标红位置
    A = new BluetoothGattCharacteristic(UUID.fromString(NOTICE), BluetoothGattCharacteristic.PROPERTY_WRITE|
    BluetoothGattCharacteristic.PROPERTY_READ|BluetoothGattCharacteristic.PROPERTY_NOTIFY, BluetoothGattCharacteristic.PERMISSION_WRITE|BluetoothGattCharacteristic.PERMISSION_READ);
    2、在中心设备上在发现A特征值时要设置:bluetoothGatt.setCharacteristicNotification(A,,true);表示该特征值可以接收通知;
    3、在外设中,当A的值改变时要通过bluetoothGattServer.notifyCharacteristicChanged(device,A,false)发送通知;可以在onNotificationSend中查看通知是否发送成功;
    4.最后在中心设备的onCharacteristicChanged中查看是否有回调;

    如果以上几个步骤都完成的话,应该是可以收到回调的,若再收不到回调,则可能是第2步设置的有问题,可以查看一下第2步是否返回true,依次查看后面几步是否有问题;

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料