none
クラシックWindowsアプリでBlueotoothLE通信を行いたい RRS feed

  • 質問

  • 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ではサービスを取得出来ることが
    わかりました。

     同じ現象をおもちのかたいらっしゃいませんか? また、その対処方法は
    ご存じないでしょうか?


    2017年6月10日 1:12

回答

  • こんにちは。

    解決策ではないですが類似現象として、

    CreatorsUpdate後からUWPでもマニフェストの記述追加が無いとFromIdAsyncで失敗するようなスレッドは以前見ました。

    https://social.msdn.microsoft.com/Forums/ja-JP/af32587a-dca3-40f5-a991-37b91cfb3e2e/creatorsupdatewinrt-atibluetooth?forum=netfxgeneralja

    ただ、クラシックアプリケーションからだとマニフェストへの追加を行っても取得できなかったようですね…。

    2017年6月10日 5:29
    モデレータ

すべての返信

  • こんにちは。

    解決策ではないですが類似現象として、

    CreatorsUpdate後からUWPでもマニフェストの記述追加が無いとFromIdAsyncで失敗するようなスレッドは以前見ました。

    https://social.msdn.microsoft.com/Forums/ja-JP/af32587a-dca3-40f5-a991-37b91cfb3e2e/creatorsupdatewinrt-atibluetooth?forum=netfxgeneralja

    ただ、クラシックアプリケーションからだとマニフェストへの追加を行っても取得できなかったようですね…。

    2017年6月10日 5:29
    モデレータ
  • こんにちは、返信遅くなりすみません。

    情報ありがとうございました。本件、MSに問い合わせたところ、バグとして認識しているとの回答を頂きました。パッチが出るのを待つばかりです。。。。。。

    2017年7月14日 2:44
  • こんにちは。

    同じ現象が発生している者です。

    情報をお持ちであればご教示いただけると助かります。

    ①MSからの回答内容はどういった内容だったのでしょうか

    ②パッチは既にリリースされているのでしょうか?

    ③パッチのリリースがまだの場合、いつ提供予定か情報ありますでしょうか?

    よろしくお願いします。

    2017年11月24日 1:49