收藏
回答

蓝牙开发问题

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.getBLEDeviceServices 客户端 Android 6.6.1 1.9.6

同样的蓝牙设备在不同手机型号上获取的特征值数组长度不一样以及内容也不一样(机型:小米6 和 华为P10),这是什么情况?

最后一次编辑于  2018-01-30  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 包磊 Baolei
    包磊 Baolei
    2018-01-30

    首先你肯定指导设备有哪些服务对吧?然后用LightBlue看一下扫描到哪些服务,小程序API和LightBlue读出来的一致的话,小程序API就没问题,问题就在手机蓝牙上,华为手机蓝牙有缓存,重启手机蓝牙后,一般就能读到正确的服务了。小米6应该是对的吧?

    2018-01-30
    赞同
    回复
  • stone
    stone
    2018-01-31

    请教一下,对于特征值不同的uuid进行读写操作的时候,设置notify监听和回调接收信息时,是不是遵循谁读写操作就监听谁,不读写的uuid是不是要关闭?我这边出现虽然在读写之前进行监听设置,但是监听读写回调的信息,在有的手机不显示,这是我在哪里设置不对吗?

    2018-01-31
    赞同
    回复
  • 包磊 Baolei
    包磊 Baolei
    2018-01-31

    notify是蓝牙设备主动通知手机特征值发生变化,可以理解为蓝牙设备主发信息,必须调用notifyBLECharacteristicValueChange,传入true才是允许接收通知,如果不调用notifyBLECharacteristicValueChange,那么就默认不开启,所以也就不需要“关闭”了;

    read是手机主动读取蓝牙设备的特征值,可以理解为手机主动读取;有的手机不显示,那说明有Bug或者API调用的不对,得具体分析一下。


    2018-01-31
    赞同
    回复