收藏
回答

小程序如何判断蓝牙是否在线?

我用了wx.startBluetoothDevicesDiscovery和 wx.getBluetoothDevices,但是无论在不在线都能获取到devices,是不是应该换一种api

回答关注问题邀请回答
收藏

1 个回答

  • 耿霄
    耿霄
    2021-03-17

    从你的提问,没有看出你要实现啥功能(或者说你的业务场景是啥),这样问的原因是很可能你的思路有问题。

    另外也不知道你怎么使用的,上来就说是不是要换种API,官方api下面的demo不知道有没有下载跑过没有。

    跟进我对你题干的 描述,我写了一个demo,主要步骤如下:

    step1: 先初始化蓝牙模块

    step2: 搜寻附近的蓝牙外围设备

    step3: 可以监听寻找到新设备的事件、也可以获取在蓝牙模块生效期间所有已发现的蓝牙设备。

    demo截图


    代码片段:https://developers.weixin.qq.com/s/kMGHIRmC7SoO

    关于在社区提问的艺术:https://developers.weixin.qq.com/community/develop/article/doc/0000e40e268e6886ace906d2451013

    提问之前建议先搜索,一般常规问题社区都有人问过。

    觉得有帮助,帮忙点个有用或赞,谢谢

    2021-03-17
    有用
    回复 4
    • 杨可宜
      杨可宜
      发表于移动端
      2021-03-17
      就是想判断该蓝牙设备是否可连接,一开始连接后控制该蓝牙设备关机,但是关机后点击重新搜索,用startBluetoothDevicesDiscovery搜索还有wx.getBluetoothDevices还是能获取已关机设备的Devices
      2021-03-17
      回复
    • 耿霄
      耿霄
      2021-03-17回复杨可宜
      wx.onBluetoothAdapterStateChange 试试这个API。
      另外下面API,都看过吗
      2021-03-17
      回复
    • 杨可宜
      杨可宜
      发表于移动端
      2021-03-17回复耿霄
      都看过,这个onBluetoothAdapterStateChange只能判断是否连接和断开连接,我的需求是在未连接状态下判断该蓝牙设备可不可以连接,这个可以实现吗
      2021-03-17
      回复
    • 烧饼
      烧饼
      2021-04-09回复杨可宜
      我就我的理解分享点我的想法。如果你说已经控制设备关机,然后再用wx.getBluetoothDevices这个接口还是能获取到所关机的设备(而且已经确保检查过设备已关机后),可能是因为蓝牙适配器存在的缓存导致的。wx.getBluetoothDevices这个接口的文档最底下有注意事项提到,可以wx.closeBluetoothAdapter清空再重新扫描并获取一下设备列表看
      2021-04-09
      回复
登录 后发表内容
问题标签