收藏
回答

onBluetoothDeviceFound 多次修改蓝牙名称后,在ios手机上存在蓝牙名称缓存

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug onBluetoothDeviceFound 微信iOS客户端 7.0.21 2.6.2

多次修改设备蓝牙名称后, onBluetoothDeviceFound 返回参数 "name"值, 在ios设备上存在缓存, 取不到最新name名

测试机型: iPhone xMax、 iPhone8P、 iPhone6s

尝试过关闭系统蓝牙重启、退出重新登录微信客户端等方法, 没有效果, name缓存依然存在


官方是否有清理蓝牙缓存的api方法

最后一次编辑于  2021-01-21
回答关注问题邀请回答
收藏

3 个回答

  • 时光深藏少年梦
    时光深藏少年梦
    06-27

    问题解决了吗?


    06-27
    有用
    回复 1
    • 时光深藏少年梦
      时光深藏少年梦
      06-27
      问题已解决,这是因为IOS会缓存蓝牙的name 名称,判断设备为IOS设备的时候取localname广播名称即可解决
      06-27
      回复
  • Jason
    Jason
    2023-02-17

    请问这个问题有解决方案吗?

    2023-02-17
    有用
    回复
  • 😶
    😶
    2021-01-21

    你好, 请提供下可以复现的代码片段

    2021-01-21
    有用
    回复 4
    • 升级後的路人乙丶
      升级後的路人乙丶
      2021-01-22
      频繁修改硬件设备蓝牙名称后, ios手机 使用 wx.onBluetoothDeviceFound 方法 ,返回的参数name值会有缓存
      代码片段: 


                  wx.onBluetoothDeviceFound((res) => {
                      res.devices.forEach(e => {
                          console.log(e.name)
                      })
                  })


      这个问题最重要的是, 修改硬件设备蓝牙名称后再次搜索有缓存,请问怎么清除缓存
      2021-01-22
      回复
    • 升级後的路人乙丶
      升级後的路人乙丶
      2021-01-22
      例如硬件设备初始名称为 A, 此时使用手机搜索返回名称正常, 后续修改为B名称正常, 再次修改名称为C后,  此时不管怎么修改蓝牙名称, 永远返回名称是B名称
      2021-01-22
      回复
    • 😶
      😶
      2021-01-22回复升级後的路人乙丶
      onBluetoothDeviceFound接口返回的name是设备的name,该name优先采用缓存的蓝牙设备的GAP name,当没连接过蓝牙设备时,会返回广播中的localname
      如果要更新缓存的GAP name,需要连接设备
      2021-01-22
      回复
    • 高飞
      高飞
      2023-09-28回复升级後的路人乙丶
      问下,问题解决了吗?我今天也还是遇到相同的问题
      2023-09-28
      回复
登录 后发表内容
问题标签