UWP 蓝牙 LE FromIdAsync 访问被拒绝异常
UWP Bluetooth LE FromIdAsync Access is Denied Exception
我正在关注此页面上的代码:
https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/gatt-client
它只是简单地扫描设备,然后调用 FromIdAsync 来获取设备,但是一旦我调用该方法,我就会从蓝牙 dll 中得到一个异常,提示“访问被拒绝”。
然后我在搜索 FromIdAsync 时发现另一个 post 并且访问被拒绝,它包含以下代码:
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)上做。
看起来问题与 Unity 有关,不包括直接从 Unity 构建时的蓝牙功能和 运行。
当我构建项目然后将其加载到 Visual Studio 并在那里执行时,我没有遇到任何错误。
这就是我的计划....构建然后在 Visual Studio 中打开。
我正在关注此页面上的代码:
https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/gatt-client
它只是简单地扫描设备,然后调用 FromIdAsync 来获取设备,但是一旦我调用该方法,我就会从蓝牙 dll 中得到一个异常,提示“访问被拒绝”。
然后我在搜索 FromIdAsync 时发现另一个 post 并且访问被拒绝,它包含以下代码:
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)上做。
看起来问题与 Unity 有关,不包括直接从 Unity 构建时的蓝牙功能和 运行。
当我构建项目然后将其加载到 Visual Studio 并在那里执行时,我没有遇到任何错误。
这就是我的计划....构建然后在 Visual Studio 中打开。