C# 无法在创建者更新后注册GattCharacteristicNotificationTrigger后台任务
后台任务注册代码如下所示:C# 无法在创建者更新后注册GattCharacteristicNotificationTrigger后台任务,c#,bluetooth,win-universal-app,.net-core,C#,Bluetooth,Win Universal App,.net Core,后台任务注册代码如下所示: var builder = new BackgroundTaskBuilder(); builder.Name = name; builder.TaskEntryPoint = typeof(BackgroundTaskClass).FullName; var trigger = new GattCharacteristicNotificationTrigger(characteristic); builder.SetTrigger(trigger); btr = b
var builder = new BackgroundTaskBuilder();
builder.Name = name;
builder.TaskEntryPoint = typeof(BackgroundTaskClass).FullName;
var trigger = new GattCharacteristicNotificationTrigger(characteristic);
builder.SetTrigger(trigger);
btr = builder.Register();
清单中的条目为:
<Extension Category="windows.backgroundTasks" EntryPoint="BackgroundTaskNS.BackgroundTaskClass">
<BackgroundTasks>
<Task Type="deviceConnectionChange" />
<Task Type="bluetooth" />
</BackgroundTasks>
</Extension>
Register()方法触发此错误:
访问被拒绝
您的应用程序无权在中使用Gatt服务
背景。确保已声明DeviceCapability和任务
在清单中键入“bluetooth”,并确认应用程序已启动
已授予对此设备的访问权限
这仅发生在构建计算机上安装的Creators Update上,并且也针对Creators Update SDK。在我们更新SDK和构建机器之前,这项功能运行良好。我们在windows 10 mobile上的UWP应用程序也遇到了同样的问题 我们更新了windows 10 mobile以构建10.0.15230.0,然后删除了该应用程序(在手机上手动),并再次安装。现在它工作得很好。
我们还安装了最新版本的SDK,但我认为可以跳过此步骤。在清单的兼容性部分,添加以下内容:
<Capabilities>
<DeviceCapability Name="bluetooth" />
</Capabilities>
在您的代码示例中没有看到它。可能是在注册触发器之前,您需要从包含该特性的GattDeviceService上的UX线程调用RequestAccessAsync
。是否添加了以下功能?正如您所说,在我们更新SDK和构建机器之前,它运行良好,您能告诉我们您的应用程序之前针对的SDK版本吗?@FangPeng MSFT感谢您的回复。是的,那也在舱单上。我们最初针对的SDK版本是周年更新。但是,在使用该SDK将机器升级到Creators更新后,出现了另一个错误,因此我们尝试了迁移。请参阅另一位开发人员提出的问题,当我们最初在Creators更新中针对周年更新SDK时,他也有同样的问题machine@StanislavMayorov不幸的是,我们不再使用后台任务了。我们在清单和Tyress中也有这段代码。这是他的评论很好知道,但这是一个预览戒指,不是吗?我们的应用程序以PC为目标,因此我将检查等效版本是什么。谢谢你提醒我@泰利斯:是的。这是一个预览(快速环)。