2017-05-31 3 views
0

私のBluetoothデバイスに接続するコードを書きました。 Windows 10のクリエイターがアップデートを行う前にうまくいきました。更新後、プログラムが次の行のコードに達すると:BluetoothLEDevice.FromIdAsyncへの呼び出しは、Windows 10の作成者が更新した後に機能しません。

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

それは永遠にその行にとどまります。私はこの問題のためのいくつかの回避策を見てきましたが、UWPプロジェクトのためだけでした。どのように私はこの問題を解決することができます任意のアイデア?

+0

この問題もあります。あなた一人じゃありません。 – MattD

+0

この問題の回避策を見つけましたか? –

答えて

0

私のケースでは、この呼び出しが失敗したように見える例外がスローされましたが、実際は別のBTLE APIでした。

bleDeviceオブジェクトはどこかからキャッシュされていますか?私たちは、ASQ文字列がもう機能していないという問題を抱えていました。私たちは、すべてのデバイスをマシンに知らせてより一般的な方法でフィルタリングする必要がありました。

希望に役立ちます。

0

これを読んだ後、threadが解決されました。 Microsoftは壊れたAPIを修正しませんが、コードを動作させる最も簡単な方法は、WindowsレジストリにAppIDを追加することです。ここでは、問題を解決するための手順:

  1. Open regedit(検索バーにregeditと入力);
  2. コンピュータ\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppIdクライアントプロセスの実行ファイル名( "YourClient.exe"など)を含む新しいキーを追加します( "新規>キー"を右クリックします)。
  3. regeditウィンドウの右側を右クリックし、 "new"> "string value"をクリックします。その後、 "Name"プロパティを "AppID"に編集します。次に、 "データ"の値をプログラムIDに変更します。
  4. ステップ2と同様に、レジストリに新しいキーを追加しますが、実行可能ファイルのIDを指定します。
  5. regeditウィンドウの右側を右クリックし、 "new"> "DWORD value"をクリックします。 "Name"プロパティを "AuthenticationLevel"に変更します。次に、 "データ"の値を1に変更してください。
関連する問題