c# - windows ble uuid




在Windows 10創建者更新後,調用BluetoothLEDevice.FromIdAsync不起作用 (2)

在我的情況下,拋出一個異常,看起來像這個調​​用失敗,但它實際上是一個不同的BTLE API。

你的bleDevicebleDevice從哪裡緩存的? 我們有一個問題,ASQ字符串不工作了,我們必須讓所有的設備已知的機器和過濾他們更一般的方式。

希望有所幫助。

我寫了一個代碼連接到我的bluetoothLE設備。 在Windows 10創建者構建更新之前它工作正常。 更新之後,當程序到達代碼行時:

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

它永遠留在那條線上。 我已經看到了這個問題的一些解決方法,但只是為UWP項目。 任何想法,我怎麼能解決這個問題?


讀完這個線程後,我發現了一個解決方案。 雖然微軟沒有修復破損的API,但使代碼工作的最簡單方法是在Windows註冊表中添加一個AppID。 這裡解決問題的步驟如下:

  1. 打開regedit(在搜索欄上輸入regedit.exe);
  2. 在計算機上\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppId添加一個新的密鑰(右鍵單擊“新建”>“鍵”)與您的客戶端進程的可執行文件的名稱(例如,“YourClient.exe”);
  3. 右鍵單擊regedit窗口右側的“新建”>“字符串值”。 之後,編輯“名稱”屬性為“AppID”。 然後,將“數據”值更改為您的程序ID;
  4. 在註冊表中添加一個新的密鑰,類似於步驟2,但使用可執行文件的Id;
  5. 右鍵單擊regedit窗口的右側,然後單擊“新建”>“DWORD值”。 將“名稱”屬性更改為“AuthenticationLevel”。 然後將“數據”值更改為1。