获取Windows 10上已连接的蓝牙设备的列表

时间:2018-07-25 19:15:29

标签: c# .net bluetooth uwp windows-10

这个问题可能很愚蠢,也许第一个被接受的答案将是解释为什么这不是预期的用例。

是否可以获取已经连接到计算机的BT设备列表?

该机器是Win10机器,使用“ pure” C#/。Net会很好,尽管也有32feet。 BT设备不是 BTLE(低能耗)。

该设备已经通过正常的Windows例程连接,目标是获取有关该设备及其连接状态的某种状态信息。

附录:我搜索了很多,大多数结果都谈论如何配对和/或连接,以及Win7、8和10的不同功能使我非常困惑。这就是为什么我这次不想包含任何代码:-)

我看到了Getting a list of bluetooth devices in a C# .NET framework,并仔细阅读了答案和评论。它显然不是关于UWP的,而是关于CLI的,此外,它似乎也不起作用。即使使用32feet,建议的对DiscoverDevicesInRange的API调用也会查找范围内且处于“可发现模式”的设备。尚未连接。在问题本身中,它指出它显然应该与Windows.Devices.Bluetooth一起使用,但是我找不到真正有效的任何东西。

1 个答案:

答案 0 :(得分:2)

您可以使用DeviceInformation.FindAllAsync(String)方法找到已配对或已连接的蓝牙设备,可以将字符串指定为BluetoothDevice.GetDeviceSelectorFromPairingState(true)BluetoothDevice.GetDeviceSelectorFromConnectionStatus(BluetoothConnectionStatus.Connected)作为以下代码。

//Paired bluetooth devices
DeviceInformationCollection PairedBluetoothDevices =
       await DeviceInformation.FindAllAsync(BluetoothDevice.GetDeviceSelectorFromPairingState(true));
//Connected bluetooth devices
DeviceInformationCollection ConnectedBluetoothDevices =
       await DeviceInformation.FindAllAsync(BluetoothDevice.GetDeviceSelectorFromConnectionStatus(BluetoothConnectionStatus.Connected));

有关更多信息,您可以查看主题Enumerate devices和正式的DeviceEnumerationAndPairing示例。