【发布时间】:2022-01-27 23:53:02
【问题描述】:
我正在关注此页面上的代码:
https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/gatt-client
它显示了简单地扫描设备,然后调用 FromIdAsync 来获取设备,但是一旦我调用该方法,我就会从蓝牙 dll 中得到一个异常,说“访问被拒绝”。
当我搜索 FromIdAsync 并且访问被拒绝时,我发现了另一个帖子,其中包含以下代码:
DeviceAccessStatus access = DeviceAccessInformation.CreateFromId(id).CurrentStatus;
if (access == DeviceAccessStatus.DeniedBySystem || access == DeviceAccessStatus.DeniedByUser)
{
Console.WriteLine("Cannot get device permissions");
permissions: {id}");
return;
}
所以我将它添加到我的应用程序中,果然它没有通过状态检查。
该应用从不显示任何类型的设备访问请求。该设备不需要配对。
如何在 UWP 应用中扫描 BLE 设备,而无需与其配对然后连接到它?
我可以在 iOS 和 Android 上做这种事情,但需要在 UWP(最终是 HoloLens)上做。
【问题讨论】:
-
您是否在 Package.appxmanifest 中声明了“蓝牙”功能?
-
我正在使用 Unity 制作应用程序并已选中蓝牙框。我将不得不深入研究将其放入应用清单的位置。我以为它会被包含在内,但在项目的任何输出文件中都找不到它。