首页 > 解决方案 > 使用 Windows 服务的蓝牙自定义配对

问题描述

我们正在开发 UWP win 10 下的 .net core 3.0 应用程序。该应用程序作为 BLE 中心运行,连接到 BLE 外围设备。我们使用 Windows.Devices.Bluetooth 命名空间,它定义了一个允许 UWP 桌面应用与蓝牙设备交互的 Windows 运行时 API。

当我们按原样运行应用程序时,我们可以毫无问题地配对。但是,当我们将模型包装在 Windows 服务中时,一切正常,但配对过程会为 pairAsync(pin_number) 请求返回 Failed DevicePairingResultStatus。在这两种情况下,运行的代码完全相同。使用 DeviceInformation.Pairing.Custom.PairAsync(DevicePairingKinds.ProvidePin, DevicePairingProtectionLevel.Encryption) 方法执行配对。

我们尝试以本地系统、本地服务、具有管理员权限的本地用户、管理员和网络服务登录的方式运行该服务,结果相同。

Windows 10 以及蓝牙驱动程序、Bios 等已更新。

有人对为什么作为 Windows 服务运行和作为应用程序运行之间存在差异有任何建议吗?以及如何绕过这个?

谢谢!

标签: serviceuwpbluetooth-lowenergypairing

解决方案


推荐阅读