收藏
回答

蓝牙 OPPOR7 设备的特征值不支持write,read,notify

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

oppoR7 手机系统:4.4.4   获取蓝牙设备的特征值,返回的properties对象中write,read,notify都是false,读取和写入数据都不支持,预期:可以读取设备的数据和向设备中写入数据

红米note 手机系统:4.4.4    设备时而显示连接失败,返回错误码:1003 ;



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

10 个回答

  • Tummy
    Tummy
    2018-03-15
    1. 确认下获取特征值参数是否有问题,这些值write,read,notify就只是指这个特征不允许读写,这个是硬件设定的。

    2. 连接失败,确认下原生的ble App能否连接成功呢?

    2018-03-15
    赞同
    回复
  • 霞儿
    霞儿
    2018-03-15

    参数没有问题,ios系统的正常,在安卓的系统5.0.0以上的安卓机都正常,都可以读写呢

    2018-03-15
    赞同
    回复
  • 霞儿
    霞儿
    2018-03-15

    oppo R11 (系统:7.7.1),魅族1(系统:6.0.1),vivo Y51A(系统:5.0.2),这些安卓系统测试都是返回true

    2018-03-15
    赞同
    回复
  • Tummy
    Tummy
    2018-03-15
    1. 打印出所有特征值看一下,截个图...之前有过case是有两个相同的特征值charactersticId,导致无法正常读写

      顺便截一下ios的特征值的图。

    2. 返回ture是指系统原生ble app都可以的意思么?

    2018-03-15
    赞同
    回复
  • 霞儿
    霞儿
    2018-03-15

    连接的是同一个蓝牙设备


    iphone8截图




    华为荣耀 PE(系统:4.4.2)

    2018-03-15
    赞同
    回复
  • 霞儿
    霞儿
    2018-03-15

    开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中

    我想问下, Android 上获取到的deviceId要怎样解析才能编码到代码中?

    2018-03-15
    赞同
    回复
  • Tummy
    Tummy
    2018-03-15

    1.

    ios:


    android:


    这两个不是同一个特征值喔..

    检查一下

    检查一下传入的serviceId是不是同一个,部分机型会有默认的两个服务的,很有可能是传入的serviceId有问题;


    2.

    Android 上获取到的deviceId要怎样解析才能编码到代码中?

    ------------------

    不是很清楚这个意思,我理解deviceId这个一般是固定的值的,调接口的时候直接传入这个即可吧,支持直接连接的。

    2018-03-15
    赞同
    回复
  • 霞儿
    霞儿
    2018-03-16

    ios获取的serviceId只有一个,华为荣耀手机获取了3个,那在安卓系统怎么判断获取的serviceId和ios一致呢

    ios


    华为荣耀


    2018-03-16
    赞同
    回复
  • 霞儿
    霞儿
    2018-03-19

    已解决,谢谢!

    2018-03-19
    赞同
    回复
  • 晔
    2018-03-30

    请问你是因为这个serviceuuid的问题导致的么

    2018-03-30
    赞同
    回复