C# 使用 32feet.NET 连接到已配对的设备
C# connecting to an already paired device using 32feet.NET
我正在尝试通过蓝牙连接到血压机。该设备已与我的笔记本电脑配对。当我在 TheNet 中使用 nuget pacage 时。我可以获取附近的设备列表,但无法获取已配对的设备
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);
}
这似乎适用于 device.Remembered 属性。
BluetoothDeviceInfo[] devices;
foreach (var device in devices)
{
if (device.Remembered == true) return "Already Paired";
else return "Not Paired";
}
希望对您有所帮助!
克里斯
如果有人需要更快的解决方案,请使用:
public BluetoothDeviceInfo[] DiscoverDevices(int maxDevices, bool authenticated, bool remembered, bool unknown);
其中:
maxDevices - 在查询可能提前停止之前要查找的范围内设备的数量。结果可以包含超过此数量的设备。
已验证 - 符合 return 之前的 authenticated/paired 设备。
remembered - 符合 return 记住的设备。
未知-适用于 return 以前未知的设备。
示例:
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));
}
我正在尝试通过蓝牙连接到血压机。该设备已与我的笔记本电脑配对。当我在 TheNet 中使用 nuget pacage 时。我可以获取附近的设备列表,但无法获取已配对的设备
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);
}
这似乎适用于 device.Remembered 属性。
BluetoothDeviceInfo[] devices;
foreach (var device in devices)
{
if (device.Remembered == true) return "Already Paired";
else return "Not Paired";
}
希望对您有所帮助!
克里斯
如果有人需要更快的解决方案,请使用:
public BluetoothDeviceInfo[] DiscoverDevices(int maxDevices, bool authenticated, bool remembered, bool unknown);
其中: maxDevices - 在查询可能提前停止之前要查找的范围内设备的数量。结果可以包含超过此数量的设备。 已验证 - 符合 return 之前的 authenticated/paired 设备。 remembered - 符合 return 记住的设备。 未知-适用于 return 以前未知的设备。
示例:
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));
}