0

我正在尝试通过蓝牙连接到血压机。该设备已与我的笔记本电脑配对。当我在 TheNet 中使用 nuget 包时。我可以获取附近的设备列表,但无法获取已配对的设备

  string macAddress = FindMACAddress();
        _blueToothEndPoint = new BluetoothEndPoint(BluetoothAddress.Parse(macAddress), BluetoothService.BluetoothBase);
        _blueToothClient = new BluetoothClient(_blueToothEndPoint);
        BluetoothDeviceInfo[] devices = _blueToothClient.DiscoverDevices();            
            foreach (BluetoothDeviceInfo device in devices)
        {
            Console.WriteLine(device.DeviceAddress);
        }
4

2 回答 2

1

如果有人需要更快速的解决方案,请使用:

public BluetoothDeviceInfo[] DiscoverDevices(int maxDevices, bool authenticated, bool remembered, bool unknown);

其中: maxDevices - 在查询之前要查找的范围内设备的数量可能会提前停止。结果可以包含超过此数量的设备。 已验证- 返回先前已验证/配对的设备为真。 remembered - 返回记住的设备为真。 unknown -True 返回以前未知的设备。

例子:

var devices = bluetoothClient.DiscoverDevices(10, true, true, false);
 foreach (var device in devices)
            {
                var blueToothInfo =
                    string.Format(
                        "- DeviceName: {0}{1}  Connected: {2}{1}  Address: {3}{1}  Last seen: {4}{1}  Last used: {5}{1}",
                        device.DeviceName, Environment.NewLine, device.Connected, device.DeviceAddress, device.LastSeen,
                        device.LastUsed);
                blueToothInfo += string.Format("  Class of device{0}   Device: {1}{0}   Major Device: {2}{0}   Service: {3}",
                Environment.NewLine, device.ClassOfDevice.Device, device.ClassOfDevice.MajorDevice,
                 device.ClassOfDevice.Service);
                Console.WriteLine(blueToothInfo);
                Console.WriteLine(); 
                devicesList.Items.Add(new BluetoothDeviceInfoContainer(device));

            }
于 2016-09-25T19:52:44.463 回答
0

这似乎适用于 device.Remembered 属性。

BluetoothDeviceInfo[] devices;

foreach (var device in devices)
{

if (device.Remembered == true) return "Already Paired";
else return "Not Paired";

}

希望这可以帮助!

克里斯

于 2016-04-29T07:31:35.070 回答