You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用32feet蓝牙库的DiscoverDevicesInRange()无法获取已配对在范围内设备信息

解决32feet库无法获取已配对且在范围内蓝牙设备的问题

DiscoverDevicesInRange() 方法仅能检测到处于可发现模式的蓝牙设备,已配对但未开启可发现的设备不会被该方法捕获。要获取这类设备,需通过以下步骤:

  1. 获取所有已配对设备
    使用BluetoothClient.PairedDevices属性,该属性会返回当前系统中所有已配对的蓝牙设备列表。

  2. 筛选处于范围内的设备
    对每个已配对设备,调用Refresh()方法刷新其状态(确保属性值为最新),再通过InRange属性判断设备是否在当前范围内。

示例代码

BluetoothClient client = new BluetoothClient();
// 获取所有已配对设备
var pairedDevices = client.PairedDevices;

foreach (var device in pairedDevices)
{
    // 刷新设备状态,确保InRange属性准确
    device.Refresh();
    if (device.InRange)
    {
        dev.Add(device);
        list.Add(device);
    }
}

补充说明

  • 如果需要同时收集可发现的未配对设备和在线的已配对设备,可以将DiscoverDevicesInRange()的结果与上述筛选后的配对设备合并,通过设备的DeviceAddress字段去重。
  • Connected属性可额外判断设备是否当前处于连接状态,按需添加即可。

内容的提问来源于stack exchange,提问作者Yashwanth Lokam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:40:37