在创建者更新后,无法注册GattcharacteristicNotificationTriggerTriggt Task



背景任务注册代码如下:

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服务 背景。确保您已声明了Devicececapanity and Task 在您的清单中键入"蓝牙",并且该应用程序已 授予对此设备的访问。

这仅发生在构建计算机上安装的创建者更新上,还针对创建者更新SDK。在更新SDK和构建机器之前,这效果很好。

我们在Windows 10 Mobile上与UWP应用程序遇到了同样的问题。

我们将Windows 10 Mobile更新为构建10.0.15230.0,然后删除该应用程序(在手机上手动(并再次安装。现在它可以正常工作。我们也安装了SDK的最后版本,但我认为可以跳过此步骤。

在您清单的兼容性部分中,添加此信息:

<Capabilities>
   <DeviceCapability Name="bluetooth" />
</Capabilities>

在您的代码样本中没有看到它。可能是您需要从GattDeviceservice上的UX线程调用RequestAccessAsync,该线程在注册触发器之前包含特征。

最新更新