我尝试让PC和HoloLens通过蓝牙RFCOMM进行通信,所以我正在编写一个UWP应用程序。我可以通过设备观察程序获取设备信息以及 id。我的问题是这一行:
var bluetoothDevice = await BluetoothDevice.FromIdAsync(deviceInfo.Id);
我的问题是蓝牙设备总是设置为空,尽管不应该。Microsoft在他们的RfcommChat Excample中说:
// If we were unable to get a valid Bluetooth device object,
// it's most likely because the user has specified that all unpaired devices
// should not be interacted with.
但是我的电脑和我的HoloLens已经配对了。无论我是否使用电脑执行应用并使用 HoloLens 进行连接,还是使用 HoloLens 并使用我的电脑进行连接,我都会遇到相同的错误。
有人可以帮忙吗?
问候 达斯汀
我发现了我的错误。我忘了在package.appxmanifest的功能中添加蓝牙:
<DeviceCapability Name="bluetooth" />
<DeviceCapability Name="bluetooth.rfcomm">
<Device Id="any">
<Function Type="serviceId:34B1CF4D-1069-4AD6-89B6-E161D79BE4D8" />
</Device>
</DeviceCapability>
尝试将FromBluetoothAddressAsync与刚刚找到/配对设备的MAC一起使用,因为 Device.Id 可能是错误的或实际上没有设置。