使用FromBluetoothAddressAsync获取ble设备服务时出错

时间:2017-04-23 12:49:51

标签: c# uwp bluetooth-lowenergy bluetooth-gatt

修改

它是某些微软安全问题的已知问题 https://social.msdn.microsoft.com/Forums/en-US/58da3fdb-a0e1-4161-8af3-778b6839f4e1/bluetooth-bluetoothledevicefromidasync-does-not-complete-on-10015063?forum=wdk

如上所述添加注册CoInitializeSecurity值修复了问题!

我试图使用广告观察者阅读A BLE设备服务。 我实现了在侦听器内部读取的服务,代码:

   private async void OnAdvertisementReceived(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs args)
    {

        if (!gotSignal)
        {
            gotSignal = true;
            device = await Windows.Devices.Bluetooth.BluetoothLEDevice.FromBluetoothAddressAsync(args.BluetoothAddress);
            service = await GattDeviceService.FromIdAsync(device.DeviceId);

        }
          ...
     }

问题是我无法获取BluetoothLEDevice对象,当我到达此行时,它没有返回任何值,它会跳过侦听器中的下一行。 注意:我已经安装了Windows创建者更新,在安装之前,BluetoothLEDevice.FromBluetoothAddressAsync功能已经起作用。

1 个答案:

答案 0 :(得分:1)

<强>解决方案

这是某些微软安全问题https://social.msdn.microsoft.com/Forums/en-US/58da3fdb-a0e1-4161-8af3-778b6839f4e1/bluetooth-bluetoothledevicefromidasync-does-not-complete-on-10015063?forum=wdk

的已知问题

如上所述添加注册CoInitializeSecurity值解决了问题!