2017-05-31 837 views
0

我编写了一个代码来连接到我的bluetoothLE设备。它在Windows 10创建者构建更新之前工作正常。更新后,当程序到达代码行时:在Windows 10创建者更新后,呼叫BluetoothLEDevice.FromIdAsync不起作用

bluetoothLeDevice = await BluetoothLEDevice.FromIdAsync(bleDevice.Id); 

它永远停留在那条线上。我已经看到了这些问题的一些解决方法,但仅适用于UWP项目。任何想法,我怎么能解决这个问题?

+0

我也有这个问题。你不是一个人。 – MattD

+0

您是否发现此问题的解决方法? –

回答

0

在我的情况下,引发了一个异常,使得它看起来像这个调用失败,但它实际上是一个不同的BTLE API。

您的bleDevice对象是从某处缓存的吗?我们有一个问题,即ASQ字符串不再工作,我们必须让所有设备知道机器,并以更一般的方式对它们进行过滤。

希望有所帮助。

0

看完这个thread后,我发现了一个解决方案。虽然Microsoft不修复损坏的API,但使代码正常工作的最简单方法是在Windows注册表中添加AppID。这里的步骤来解决问题:

  1. 打开注册表(在搜索栏上键入regedit.exe);
  2. 在计算机\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppId上添加一个新的密钥(右键单击“new> key”),其中包含客户端进程的可执行文件名称(例如“YourClient.exe”);
  3. 右击注册表编辑器窗口的右侧,然后选择“新建”>“字符串值”。之后,编辑“名称”属性为“AppID”。然后,将“数据”值更改为您的程序ID;
  4. 在注册表中添加一个新的密钥,与步骤2类似,但使用可执行文件的Id;
  5. 右键单击regedit窗口右侧的“新建”>“DWORD值”。将“名称”属性更改为“AuthenticationLevel”。然后将“数据”值更改为1.
相关问题