トップ回答者
クラシックWindowsアプリでBlueotoothLE通信を行いたい

質問
-
Windows10においてBluetoothLE GATT通信を行いたく、いろいろなページを
参考に以下のようなプログラムを書きました(クラシックアプリです)。
const string serviceUuid = "f6010001-0000-0000-0000-000000000000";
//①指定のUUIDを持つデバイスを検索するセレクターを作成
string selector = GattDeviceService.GetDeviceSelectorFromUuid(new Guid(serviceUuid));
//②セレクターに一致するデバイスの一覧を作成する
var deviceInfos = await DeviceInformation.FindAllAsync(selector);
//③最初に見つけたデバイスを取り出す
var dev = deviceInfos.FirstOrDefault();
if (dev != null)
{
//④サービスを取得する。
GattDeviceService service = await GattDeviceService.FromIdAsync(dev.Id);
ところが ④のサービスを取得するところでロックしてしまい、処理が先に
進みません。調べてみると最新の WindowsUpdate を行ったPCのみで
発生する現象で、Updateを行っていないPCではサービスを取得出来ることが
わかりました。
同じ現象をおもちのかたいらっしゃいませんか? また、その対処方法は
ご存じないでしょうか?
回答
-
こんにちは。
解決策ではないですが類似現象として、
CreatorsUpdate後からUWPでもマニフェストの記述追加が無いとFromIdAsyncで失敗するようなスレッドは以前見ました。
https://social.msdn.microsoft.com/Forums/ja-JP/af32587a-dca3-40f5-a991-37b91cfb3e2e/creatorsupdatewinrt-atibluetooth?forum=netfxgeneralja
ただ、クラシックアプリケーションからだとマニフェストへの追加を行っても取得できなかったようですね…。
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年6月12日 0:38
- 回答としてマーク 立花楓Microsoft employee, Moderator 2017年7月3日 7:32
すべての返信
-
こんにちは。
解決策ではないですが類似現象として、
CreatorsUpdate後からUWPでもマニフェストの記述追加が無いとFromIdAsyncで失敗するようなスレッドは以前見ました。
https://social.msdn.microsoft.com/Forums/ja-JP/af32587a-dca3-40f5-a991-37b91cfb3e2e/creatorsupdatewinrt-atibluetooth?forum=netfxgeneralja
ただ、クラシックアプリケーションからだとマニフェストへの追加を行っても取得できなかったようですね…。
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年6月12日 0:38
- 回答としてマーク 立花楓Microsoft employee, Moderator 2017年7月3日 7:32