在Windows 10创建者更新后,对BluetoothLEDevice.FromIdAsync的调用不起作用

时间:2017-05-31 17:20:07

标签: c# .net bluetooth arduino bluetooth-lowenergy

我写了一个代码来连接我的bluetoothLE设备。在Windows 10创建者构建更新之前,它工作正常。更新后,当程序到达下面的代码行时:

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

永远留在那条线上。我已经看到了一些解决这个问题的方法,但仅针对UWP项目。我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:0)

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

您的 transient do course nil end after(:create) do |user, evaluator| create(:character, user_id: user.id, course_id: evaluator.course.id) if evaluator.course user.save end 对象是否从某处缓存?我们有一个问题,即ASQ字符串不再起作用,我们必须让机器知道所有设备并以更一般的方式过滤它们。

希望有所帮助。

答案 1 :(得分:0)

阅读此thread后,我找到了解决方案。虽然Microsoft没有修复损坏的API,但使代码工作的最简单方法是在Windows注册表中添加AppID。这里是解决问题的步骤:

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