Bluetoothマネージャタイプのクラスを作成しようとしています。クラスは、アプリケーションでホワイトリストに登録されているすべてのペアリングされていないBluetoothデバイスを検索し、それらを内部デバイスリストに追加します。Windowsでデバイスを追加/削除するときにBluetoothイベントを受信しない
_deviceWatcher = DeviceInformation.CreateWatcher(_selector,
null, DeviceInformationKind.AssociationEndpoint);
だけでなく、次のイベントをサブスクライブすることによって:私はこの次のコードを使用してください
私がホワイトリストに登録しているBluetoothデバイスがオンになっている場合
_deviceWatcher.Added += _deviceWatcher_Added;
_deviceWatcher.Removed += _deviceWatcher_Removed;
_deviceWatcher.EnumerationCompleted += _deviceWatcher_EnumerationCompleted;
、デバイスウォッチャーが見つかりましたデバイス。しかし、私はデバイスをオフにする場合、私は決して "削除"イベントを取得します。
デバイスがオフで、「列挙完了」イベントの受信を待ってからデバイスをオンにすると、「追加された」イベントは発生しません。
私はMicrosoft提供のサンプル( "DeviceEnumerationAndPairing")を試しましたが、そのサンプルは同じように動作します。
以下に示すように、私は、私のプログラムの実行を継続し、Bluetoothの設定を開く場合:
その後、期待どおりに動作し、オフにするとき、私は「更新」と「削除」イベントを取得デバイスの電源を切る。
利用可能なBluetoothデバイスを検出できるようにするには、何らかのスキャンルーチンをアクティブにする必要がありますか?もしそうなら、どうすればよいですか?